java – 是否应该从服务器更改HTTP客户端的异步响应?
作者:互联网
最近我使用以下配置为我的Servlet配置了异步处理
<async-supported>true</async-supported>
我的问题是,这个变化对HTTP客户端是否透明?我的客户端不是Web浏览器.它是一个发出HTTP请求的硬件设备,我无法控制客户端功能.
P.S – 问题来自于我最近听说过非同步的http客户端.
解决方法:
简单回答是不.
仅提供新的异步机制以更好地利用服务器计算机上的线程.就客户而言,没有变化.
即使在早期,如果您使用AJAX,客户端也会使用回调以异步方式处理请求.因此,异步客户端首先出现.如果服务器在接收来自客户端的http请求时想要执行耗时的操作,那么它现在也可以使用异步机制.
请注意,即使在异步世界中,服务器也不能做太费时间的事情,因为客户端可能不会等待很长时间才能使服务器响应.
有关异步如何在服务器端工作的信息,这里有一个链接:
I don’t understand Async support in servlets 3.0 API
编辑:
通过异步支持,由于服务器现在可以暂停响应并执行其他有用的操作,因此您可以设计客户端 – 服务器应用程序,其中客户端要求服务器“在发生有趣事情时稍后进行响应”.因此,AJAX请求可以打开5到10分钟,如果在那段时间发生某些事情,服务器可以响应(并关闭连接).在这5分钟的窗口期间,服务器中不会有线程被阻塞.
换句话说,人们可以基于迟到的服务器API设计应用程序.以下是有关此技术的更多信息:Ajax Long Polling
标签:java,http,asynchronous,servlets,servlet-3-0 来源: https://codeday.me/bug/20190628/1317071.html