HTTP无状态协议和Connection:Keep-Alive容易犯的误区
2016-04-27 10:01
656 查看
名词解释:
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/
相关文章推荐
- iOS开发网络篇—发送GET和POST请求(使用NSURLSession)
- TCP/IP详解 卷一 ---------ARP地址解析协议
- 搭建本地yum源(http方式) on Red Hat Enterprise Linux Server
- OSI七层与TCP/IP五层网络架构详解
- 谈谈HTTP协议中的短轮询、长轮询、长连接和短连接
- 网络存储
- 高级UIKit-09(TCPSocket发送文件、上传和下载) - 回读(IOS)
- Golang httptls 通信,带证书请求小实例
- 中断和网络驱动程序
- HttpURLConnection工具类 支持Gzip
- .Net开源网络爬虫Abot介绍
- Unity的数据序列化与反序列化用于网络传输
- 从贝叶斯方法谈到贝叶斯网络
- IPerf——网络测试工具介绍与源码解析(4)
- 网络干货
- 网络编程学习——线程(三)
- 传统企业为什么要做网络营销?
- 深入理解HTTP Session
- xUtils里使用HttpUtils时出现的无法访问HttpRequestBase的错误
- ionic加载网络图片资源的解决方法