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. vue中解决时间在ios上显示NAN的问题
  2. [管理心得] 稻盛和夫为日航危机出诊--人情营销的典型
  3. HDU_2156 分数矩阵
  4. 清除zend studio10.5中的内置浏览器中的历史记录
  5. 如何安装python解释器_python基础系列教程——Python的安装与测试:python解释器、PyDev编辑器、pycharm编译器...
  6. alsa的动态库安装在哪里_源码编译安装MySQL8.0.20
  7. paip.JAVA的优缺点相比C#.NET VC425
  8. VS2012下载和安装
  9. c语言词法分析程序实验报告,词法分析器实验报告
  10. 【人工智能算法】算法基础之K均值聚类算法
  11. 推荐个不错的 Word 全文翻译和压缩工具!
  12. grep正则表达式后面的单引号和双引号的区别?
  13. SeaWeedfs 分布式网络文件存储介绍
  14. Android10.0 startService启动过程
  15. 单调有界定理适用于函数吗_实数的完备性定理
  16. 【接口技术】实验二:基本I/O实验
  17. 常见的几种视频和音频格式
  18. Android使用WebView加载Url时提示“请在微信客户端打开链接”
  19. python按哪个键运行代码_python运行快捷键是哪个
  20. Linux常用指令与操作

热门文章

  1. glide缩略图存储 android,Glide 显示视频缩略图及遇到的坑
  2. mysql 重试_重试MySQL/SQLAlchemy的死锁
  3. 星空主题设计理念_敏捷协调,智慧运营:金蝶云·星空的产品设计理念与应用实践...
  4. python中的正则表达式是干嘛的_操作python中的正则表达式(上)
  5. android studio工程特点,Android Studio的重要特性
  6. python在哪些控制结构中使用else保留字_python的程序控制结构-循环结构与random库使用和圆周率案例--pyt...
  7. 6显示wan口未插线_WiFi 6到底6不6——华硕 AX56U热血版 路由器评测
  8. ros安装过后怎么找不到安装文件_ros配置乐视奥比中光相机
  9. 当电路与艺术相结合,美的让人窒息!
  10. 虚拟服务器容器,docker容器和虚拟机的区别