我(手动)测试RESTful API,充分利用GET/POST/PUT/DELETE方法.不是在命令行上使用cURL来快速测试不同的输入选项,如果有一个Windows GUI应用程序可以使这更容易,这将是很方便的.这样的事情存在吗?
我想知道是否有办法检测何时从本地缓存返回响应?可能吗?
解决方案应该是通用的,适用于无条件请求.在这种情况下,响应代码始终为200 OK,但XHR返回第二个请求的缓存资源(例如,第一个响应包含Expires头,因此无需在到期日期之前向服务器请求新资源).
使用javax.net.ssl的https服务器的简单Netty实现,带有自签名证书.服务器已启动,然后使用Restlet的DHC进行请求.在服务器端,我得到:
io.netty.handler.ssl.SslHandler setHandshakeFailure 警告:由于关闭连接,SSLEngine.closeInbound()引发了异常.javax.net.ssl.SSLException:在接收对等方的close_notify之前关闭入站:可能的截断攻击? 在sun.security.ssl.Alerts.getSSLException(未知来源)在sun.security.ssl.SSLEngineImpl.fatal(未知来源)在sun.security.ssl.SSLEngineImpl.fatal(未知来源)在sun.security.ssl.SSLEngineImpl .closeInbound(未知来源)在io.netty.handler.ssl.SslHandler.setHandshakeFailure(SslHandler.java:905)在io.netty.handler.ssl.SslHandler.channelInactive(SslHandler.java:576)在io.netty.channel .ofaultChannelHandlerContext.invokeChannelInactive(DefaultChannelHandlerContext.java:819)at io.netty.channel.DefaultChannelHandlerContext.access $ 1300(DefaultChannelHandlerContext.java:38)at io.netty.channel.DefaultChannelHandlerContext $ 5.run(DefaultChannelHandlerContext.java:808)at io. netty.channel.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:259)在io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:305)在io.netty.channel.SingleThreadEventExecutor $ 2.run(SingleThreadEventExecutor.java:110 )在java.lang.Thread.run(未知来源)
在客户端:
没有反应.证书有效吗?点击这里查看.
在Chrome的地址栏中发出相同的请求,即相同的服务器端异常.在Firefox的地址栏上发布相同的例外情况,同时Firefox正在显示关于证书不是来自可信CA的警告页面.此异常似乎非常通用,并不直接指示协议的状态.这意味着这三个客户端(Chrome,Firefox,DHC by Restlet)是不是很好地播放协议而只是消失在服务器而不是发送close_notify?或者这是SSL RFC所强制要求的客户端行为,还是仅面向安全的客户端设计?