Http1 1 與 Http1 0的區別

2021-09-01 03:47:20 字數 3152 閱讀 6496

翻了下http1.1的協議標準rfc2616,下面是看到的一些它跟http1.0的差別。

persistent connection(持久連線)

在http1.0中,每對request/response都使用乙個新的連線。

http 1.1則支援persistent connection, 並且預設使用persistent connection.

host 域

http1.1在request訊息頭裡頭多了乙個host域,比如:

http1.0則沒有這個域。

可能http1.0的時候認為,建立tcp連線的時候已經指定了ip位址,這個ip位址上只有乙個host。

date/time stamp (日期時間戳)

(接收方向)

無論是http1.0還是http1.1,都要能解析下面三種date/time stamp:

sun, 06 nov 1994 08:49:37 gmt ; rfc 822, updated by rfc 1123

sunday, 06-nov-94 08:49:37 gmt ; rfc 850, obsoleted by rfc 1036

sun nov 6 08:49:37 1994 ; ansi c's asctime() format

(傳送方向)

http1.0要求不能生成第三種asctime格式的date/time stamp;

http1.1則要求只生成rfc 1123(第一種)格式的date/time stamp。

transfer codings

http1.1支援chunked transfer,所以可以有transfer-encoding頭部域:

transfer-encoding: chunked

http1.0則沒有。

quality values

http1.1多了個qvalue域:

qvalue = ( "0" [ "." 0*3digit ] )

| ( "1" [ "." 0*3("0") ] )

entity tags

用於cache。

range 和 content-range

http1.1支援傳送內容的一部分。比方說,當客戶端已經有內容的一部分,為了節省頻寬,可以只向伺服器請求一部分。

100 (continue) status

100 (continue) 狀態**的使用,允許客戶端在發request訊息body之前先用request header試探一下server,看server要不要接收request body,再決定要不要發request body。

客戶端在request頭部中包含

expect: 100-continue

server看到之後呢如果回100 (continue) 這個狀態**,客戶端就繼續發request body。

這個是http1.1才有的。

request method

http1.1增加了options, put, delete, trace, connect這些request方法.

method = "options" ; section 9.2

| "get" ; section 9.3

| "head" ; section 9.4

| "post" ; section 9.5

| "put" ; section 9.6

| "delete" ; section 9.7

| "trace" ; section 9.8

| "connect" ; section 9.9

| extension-method

extension-method = token

status code

http1.1 增加的新的status code:

(http1.0沒有定義任何具體的1xx status code, http1.1有2個)

100 continue

101 switching protocols

203 non-authoritative information

205 reset content

206 partial content

302 found (在http1.0中有個 302 moved temporarily)

http1.1增加了content negotiation,分為server-driven negotiation,agent-driven negotiation和transparent negotiation三種。

cache (快取)

http1.1(rfc2616)詳細展開地描述了cache機制,詳見13節。

依據:

HTTP1 0與HTTP1 1的區別

下面主要從幾個不同的方面介紹http 1.0與http 1.1之間的差別,當然,更多的內容是放在解釋這種差異背後的機制上。可擴充套件性的乙個重要原則 如果http的某個實現接收到了自身未定義的頭域,將自動忽略它。在訊息中增加版本號,用於相容性判斷。注意,版本號只能用來判斷逐段 hop by hop ...

Http1 1與Http1 0的比較

上篇部落格 web開發基礎 http1.0協議 客戶端與伺服器端的互動 1 允許在乙個 tcp連線上 可以傳送多個http請求和響應 這樣乙個包含多個影象的網頁的多個請求和響應就可以在乙個連線中進行傳輸了 但是每個單獨的網頁檔案的請求和 仍然還是需要使用各自的連線的。2 允許客戶端不用等待上一次的請...

HTTP1 0與HTTP1 1的區別

下面主要從幾個不同的方面介紹 http 1.0與http 1.1 之間的差別,當然,更多的內容是放在解釋這種差異背後的機制上。1 可擴充套件性 可擴充套件性的乙個重要原則 如果http的某個實現接收到了自身未定義的頭域,將自動忽略它。在訊息中增加版本號,用於相容性判斷。注意,版本號只能用來判斷逐段 ...