HTTP无状态协议和Connection:Keep-Alive容易犯的误区
2016-02-26 15:27
429 查看
名词解释:
HTTP无状态:无状态是指协议对于事务处理没有记忆能力,服务器不知道客户端是什么状态。从另一方面讲,打开一个服务器上的网页和你之前打开这个服务器上的网页之间没有任何联系
如果你要实现一个购物车,需要借助于Cookie或Session或服务器端API(如NSAPI and ISAPI)记录这些信息,请求服务器结算页面时同时将这些信息提交到服务器
当你登录到一个网站时,你的登录状态也是由Cookie或Session来“记忆”的,因为服务器并不知道你是否登录
优点:服务器不用为每个客户端连接分配内存来记忆大量状态,也不用在客户端失去连接时去清理内存,以更高效地去处理WEB业务
缺点:客户端的每次请求都需要携带相应参数,服务器需要处理这些参数
参考:http://en.wikipedia.org/wiki/Stateless_protocol,http://www.webopedia.com/TERM/S/stateless.html
Keep-Alive:参考另外一篇文章HTTP
Keep-Alive 详解
容易犯的误区:
1、HTTP是一个无状态的面向连接的协议,无状态不代表HTTP不能保持TCP连接,更不能代表HTTP使用的是UDP协议(无连接)
2、从HTTP/1.1起,默认都开启了Keep-Alive,保持连接特性,简单地说,当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭,如果客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接
3、Keep-Alive不会永久保持连接,它有一个保持时间,可以在不同的服务器软件(如Apache)中设定这个时间
转自:http://liuzhigong.blog.163.com/blog/static/178272375201141344312315/
HTTP无状态:无状态是指协议对于事务处理没有记忆能力,服务器不知道客户端是什么状态。从另一方面讲,打开一个服务器上的网页和你之前打开这个服务器上的网页之间没有任何联系
如果你要实现一个购物车,需要借助于Cookie或Session或服务器端API(如NSAPI and ISAPI)记录这些信息,请求服务器结算页面时同时将这些信息提交到服务器
当你登录到一个网站时,你的登录状态也是由Cookie或Session来“记忆”的,因为服务器并不知道你是否登录
优点:服务器不用为每个客户端连接分配内存来记忆大量状态,也不用在客户端失去连接时去清理内存,以更高效地去处理WEB业务
缺点:客户端的每次请求都需要携带相应参数,服务器需要处理这些参数
参考:http://en.wikipedia.org/wiki/Stateless_protocol,http://www.webopedia.com/TERM/S/stateless.html
Keep-Alive:参考另外一篇文章HTTP
Keep-Alive 详解
容易犯的误区:
1、HTTP是一个无状态的面向连接的协议,无状态不代表HTTP不能保持TCP连接,更不能代表HTTP使用的是UDP协议(无连接)
2、从HTTP/1.1起,默认都开启了Keep-Alive,保持连接特性,简单地说,当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭,如果客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接
3、Keep-Alive不会永久保持连接,它有一个保持时间,可以在不同的服务器软件(如Apache)中设定这个时间
转自:http://liuzhigong.blog.163.com/blog/static/178272375201141344312315/
相关文章推荐
- http 安装apxs扩展
- Cordova学习教材 http://www.yiibai.com/cordova/cordova_battery_status.html
- HttpClient4获取抓取网页编码,内容等信息
- Android http中文乱码问题
- HTTP协议学习
- HTTP状态码
- Apache的配置文件http.conf参数含义详解
- 使用DefaultHttpClient发起网络请求遇到的问题
- http响应Last-Modified和ETag以及Apache和Nginx中的配置
- 断点续传原理 :http头 Range , Content-Range
- http proxy环境下,使用git和brew的设置
- 从网络上获取国际标准时间
- 用PHP操作http中Etag、lastModified和Expires标签
- matlab的神经网络工具箱
- Xcode7 使用NSURLSession发送HTTP请求的问题
- 用httpPost对JSON发送和接收的例子
- JavaWeb学习总结(二)——Tomcat服务器学习和使用(一) http://www.cnblogs.com/xdp-gacl/p/3734395.html
- TCP首部格式
- http请求头和响应头
- http://www.mxchip.com/talk/news/jishuwenzhang/2014-09-11/67.html