http1.0 和 http1.1 主要區別


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM