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

http1.0 和 http1.1 主要区别的更多相关文章

  1. http1.0 和 http1.1 区别

    http1.0 和 http1.1 主要区别 1.背景   KeepAlive是就是通常所称的长连接.KeepAlive带来的好处是可以减少tcp连接的开销,这对于短response body的请求效 ...

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

    一.HTTP的历史 早在 HTTP 建立之初,主要就是为了将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器.也是说对于前端来说,我们所写的HTML页面将要放在我们的 web 服务器上 ...

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

    一.HTTP的历史 早在HTTP建立之初,主要就是为了将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器.也是说对于前端来说,我们所写的HTML页面将要放在我们的web服务器上,用户端 ...

  4. HTTP1.0和HTTP1.1的一些区别

    HTTP1.0和HTTP1.1的一些区别 HTTP1.0最早在网页中使用是在1996年,那个时候只是使用一些较为简单的网页上和网络请求上,而HTTP1.1则在1999年才开始广泛应用于现在的各大浏览器 ...

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

    一.HTTP1.0 HTTP 1.1主要区别       1.1 长链接             HTTP 1.0需要使用keep-alive参数来告知服务器端要建立一个长连接,而HTTP1.1默认支 ...

  6. HTTP详解(3)-http1.0 和http1.1 区别

    HTTP详解(3)-http1.0 和http1.1 区别 分类: 网络知识2013-03-17 16:51 1685人阅读 评论(0) 收藏 举报   目录(?)[+]   翻了下HTTP1.1的协 ...

  7. HTTP协议详解及http1.0与http1.1http2.0的区别

    HTTP协议介绍 http(超文本传输协议)是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.特点: (1)支持客户/服务器模式. HTTP是一个客户端和服务器端请 ...

  8. 计算机网络【9】—— HTTP1.0和HTTP1.1的区别及常见状态码

    一.HTTP1.0与HTTP1.1的区别 1.HTTP 1.1支持长连接(PersistentConnection)和请求的流水线(Pipelining)处理 HTTP 1.0规定浏览器与服务器只保持 ...

  9. HTTP与HTTPS异同/HTTP1.0与HTTP1.1差别

    HTTP状态码 分类 解释 描述 1XX 信息 服务器收到请求,需要请求者继续执行操作 2XX 成功 操作被成功接收并处理 3XX 重定向 需要进一步的操作以完成请求 4XX 客户端错误 请求包含语法 ...

随机推荐

  1. IIS 之 IIS 7及以上多域名或端口绑定同一物理目录并设置不同默认文档

    今天在 IIS 7 多端口或域名绑定同一物理目录,设置不同的默认文档遇到问题:同一物理目录的多个站点修改任意一个站点默认文档都会一起更改. 原因:在同一个物理目录下只有一个 web.config,并且 ...

  2. python2.7 安装pypcap出错 pcap.h not found

    python安装pypcap的时候出错 通过不断百度+google找到解决方案 https://segmentfault.com/q/1010000007273835/a-10200000072756 ...

  3. 翻页效果实现turn.js

    使用插件turn.js实现翻书功能. 看下效果:http://yk.wanxue.cn/2019/01/yd/ 当然第一版做的时候加载很慢很慢,原版插件会把所有图片加载出来再显示页面.很不爽的体验就改 ...

  4. 多表连接的三种方式详解 hash join、merge join、 nested loop

    在多表联合查询的时候,如果我们查看它的执行计划,就会发现里面有多表之间的连接方式.多表之间的连接有三种方式:Nested Loops,Hash Join 和 Sort Merge Join.具体适用哪 ...

  5. 【DB2】索引

    1. 索引的概念 1.1 索引的优点 索引是表的一个或多个列的键值的有序列表,创建索引的原因有2个: 确保一个或多个列中值的唯一性 提高对表进行的查询的性能.当查询时想要以更快的速度找到所需要的列,或 ...

  6. 第一个go的web程序;调用七牛云存储的音频api问题解决;条件搜寻文件中的内容,字符串拼接+在上一行

    package main import ( "html/template" "io" "io/ioutil" "log" ...

  7. 【php+微擎】微擎学习相关帮助推荐

    我刚接触微擎没多久,学习中遇到很多问题,走过很多弯路.遇到很多问题在网上也查不到,因此想把我自己的学习历程写出来供新手们参考(本人还是菜鸟一枚,文中错误之处,敬请指正!) 我以一个新手小白的角度来帮助 ...

  8. timerTask任务定时器

      简单的一个定时器,异步任务 Timer timer = new Timer(); timer.schedule(new TimerTask() { @Override public void ru ...

  9. ios中Pldatabase的用法(4)

    封装成DAO@implementation SqlHelper +(BOOL)InsertSql:(NSString *)sql paramet:(NSMutableDictionary *)parm ...

  10. iOS UIButton 图片文字左右互移 位置对调 解决方案

    实现类似效果: 代码实现: btnGrade.titleEdgeInsets = UIEdgeInsetsMake(, -(btnGrade.imageView?.bounds.width)!, , ...