1、背景
   KeepAlive是就是通常所称的长连接。KeepAlive带来的好处是可以减少tcp连接的开销,这对于短response body的请求效果更加明显。同时,可以为采用HTTP协议的交互式应用提供良好的session支持。

2、KeepAlive的原理
    在HTTP1.0和HTTP1.1协议中都有对KeepAlive的支持。其中HTTP1.0需要在request中增加”Connection: keep-alive“ header才能够支持,而HTTP1.1默认支持。

HTTP1.0 KeepAlive支持的数据交互流程如下:
    a) Client发出request,其中该request的HTTP版本号为1.0。同时在request中包含一个header:”Connection: keep-alive“。
    b) Web Server收到request中的HTTP协议为1.0及”Connection: keep-alive“就认为是一个长连接请求,其将在response的header中也增加”Connection: keep-alive“。同时不会关闭已建立的tcp连接。
    c) Client收到Web Server的response中包含”Connection: keep-alive“,就认为是一个长连接,不close tcp连接。并用该tcp连接再发送request。(跳转到a))

HTTP1.1 KeepAlive支持的数据交互流程如下:
    a) Client发出request,其中该request的HTTP版本号为1.1。
    b) Web Server收到request中的HTTP协议为1.1就认为是一个长连接请求,其将在response的header中也增加”Connection: keep-alive“。同是不会关闭已建立的tcp连接。
    c) Client收到Web Server的response中包含”Connection: keep-alive“,就认为是一个长连接,不close tcp连接。并用该tcp连接再发送request。(跳转到a))

抓包查看:

GET /myweb/login.jsp HTTP/1.1
Cookie: JSESSIONID=77FC1A52E9C3BAD0536359386A96C0FB
x-requested-with: XMLHttpRequest
Accept-Language: zh-cn
Referer: https://192.168.0.0:8443//myweb/login.jsp
Accept: */*
Content-Type: application/x-www-form-urlencoded;charset=UTF-8
Host: 192.168.0.0:8443
Connection: Keep-Alive
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Win64; x64; Trident/4.0; .NET CLR 2.0.50727; SLCC2; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Tablet PC 2.0)

HTTP/1.1 200 OK
Content-Length: 0
Server: Apache-Coyote/1.1
Cache-Control: no-store,no-cache
Cache-Control: no-store,no-cache
Date: Mon, 17 Jun 2013 07:53:31 GMT

转载于:https://www.cnblogs.com/qqzy168/p/3141849.html

http1.0 和 http1.1 主要区别相关推荐

  1. HTTP1.0 、 HTTP1.1、HTTP2.0的主要区别

    HTTP1.0 VS HTTP1.1 长连接: HTTP1.0需要使用keep-alive参数来告知服务器端要建立一个长连接,而HTTP1.1默认支持长连接(PersistentConnection) ...

  2. HTTP1.0,HTTP1.1,HTTPS和HTTP2.0的区别

    HTTP1.0和HTTP1.1的一些区别 缓存处理,在HTTP1.0中主要使用header里的If-Modified-Since,Expires来做为缓存判断的标准,HTTP1.1则引入了更多的缓存控 ...

  3. HTTP1.0、HTTP1.1和HTTP2.0的区别

    HTTP1.0.HTTP1.1和HTTP2.0的区别 文章目录 HTTP1.0.HTTP1.1和HTTP2.0的区别 一.HTTP的历史 二.HTTP的基本优化 三.HTTP1.0和HTTP1.1的区 ...

  4. http介绍(3)http1.0 和http1.1 区别

    翻了下HTTP1.1的协议标准RFC2616,下面是看到的一些它跟HTTP1.0的差别. 1. Persistent Connection持久连接      在HTTP1.0中,每对Request/R ...

  5. Http和Https的区别、http1.0、http1.1、http2.0

    一.HTTP/HTTPS HTTP(HyperText Transfer Protocol:超文本传输协议),HTTPS(Hypertext Transfer Protocol Secure:超文本传 ...

  6. HTTP1.0、HTTP1.1 、SPDY、HTTP2.0之演变过程和优化

    一.协议的演变过程和时间 HTTP1.0(1996年) -> HTTP1.1(1999年) -> SPDY(2012年google提出了SPDY的方案) -> HTTP2.0(201 ...

  7. HTTP1.0、HTTP1.1和HTTP2.0

    特性 HTTP1.0 HTTP1.1 HTTP2.0 持续连接 ✗ ✔ ✔ 断点续传 ✗ ✔ ✔ Host 头 ✗ ✔ ✔ 请求方法 GET.HEAD.POST 以上+ OPTIONS.PUT.DEL ...

  8. http1.0 与 http1.1

    参考:http://blog.csdn.net/codenerd/article/details/4222594 http://www.cnblogs.com/zhaozhan/archive/201 ...

  9. HTTP2.0 相比 HTTP1.0、HTTP1.1 有哪些重大改进?值得升级更换吗?

    目录 HTTP1.0 HTTP1.1 HTTP2.0 主要特性对比 HTTP发展历史 HTTP2解决的问题 HTTP1.0 HTTP1.1 HTTP2.0

最新文章

  1. WordPress 运行流程分析
  2. 【PC工具】更新:在线智能抠图工具,在线视频、图片、音频等转换工具,绿色免安装抠图神奇抠图工具...
  3. CSharpGL(5)解析3DS文件并用CSharpGL渲染
  4. 如何使用html和css,如何使用html和css制作这个div?
  5. mysql十万条数据_2秒内向数据库中插入十万条数据?
  6. 苹果se2_搜狗输入法适配苹果se2,给用户带来新玩法。
  7. 关于软件测试工程师所应该具备的能力,就业前景还有适合女生从事吗?
  8. 毕业设计(十七)---发表文章(3)之- 使用ckeditor上传图片(flash)
  9. Kafka学习之broker配置(0.8.1版)(转)
  10. JavaEE学习12—JDBC(下)
  11. onlyoffice中文字体下载
  12. SQL注入语法类型和sql盲注
  13. html如何删除表单中的行,用jQuery remove()方法删除表格行(table tr)的写法
  14. 手机邮箱设置qq服务器,手机设置qq邮箱
  15. 【机器学习-白板推导系列】学习笔记---支持向量机和主成分分析法
  16. 在2a期概念验证研究取得积极结果后,武田获得COUR Pharmaceuticals治疗乳糜泻的同类首创药物的许可
  17. LeetCode 字典序排数(最优解法,不接受反驳)
  18. 春生冬至时——今日冬至
  19. Java程序是如何运行的
  20. 算法二十二:倒水问题

热门文章

  1. 5天学习MYSQL数据库第一天剩余全部笔记(超级详细的mysql入门笔记适合新手反复看加深记忆)
  2. 新手学python书籍推荐_新手学python看哪本书
  3. 两个字符串的删除操作Python解法
  4. android问题总结报告,Android开发中常见的问题总结
  5. python 按键精灵识图_利用-百度云通用文字识别-图片转文字
  6. Java 中removelinked_Java LinkedHashSet remove()用法及代码示例
  7. 光伏智能道路_这条光伏公路,能承重,晒太阳能发电,西方国家:中国技术好...
  8. 如何设置定时器每天执行一次_游戏活动的自动循环——定时器管理
  9. 不停机上线服务_【必看】10月25日本市增值税发票管理系统停机前,这些事一定要办...
  10. LCD也可以模拟?这款模拟器别错过了!