HTTP

1、什麼是http?

HTTPWeb瀏覽器和Web服務器之間通信的標準協議。

2、http1.1

HTTP 1.1和之後的版本中,服務器不必在發送響應後就關閉連接。可以保持連接打開,在同一個socket上等待來自客戶端的新請求。可以在一個TCP連接上連續發送多個請求和響應。不過,服務器響應之後,客戶端的鎖步模式還是一樣的。客戶端可以在HTTP請求首部中包括一個Connection字段,指定值爲Keep-Alive,指示它希望重用一個socket

一、http執行流程。

HTTP指定客戶端與服務器如何建立連接,客戶端如何從服務器請求數據,服務器如何響應請求,以及最後如何關閉連接

a) 默認情況下,客戶端在端口80打開與服務器的一個TCP連接,URL可以指定其他端口。

b) 客戶端向服務器發送消息,請求指定路徑上的資源。這個請求包括一個首部,可選地址還可以有一個空行,後面是請求的數據

 

解釋:每個請求包含一個首部行,一個包含元數據的HTTP首部,一個空行,然後是一個消息體。

像這樣的請求不包含消息體,所以請求以一個空行結束。

第一行稱爲請求行,包含一個方法、資源的路徑以及HTTP的版本。方法指定了請求的操作,GET方法表示返回一個服務器的資源的表示。/index.html是從服務器請求的資源的路徑。HTTP/1.1是客戶理解的協議的版本。

User-Agent:表示讓服務器知道使用的是什麼瀏覽器,並允許服務器發送爲特定瀏覽器類型而優化的文件。

Host:指定服務器的域名

Accept:告訴服務器客戶端可以處理那些數據類型。已經定義了8種頂級類型:

text/*表示人可讀的文字,image/*表示圖片,model/*表示3D模型,如VRML文件。audio/*表示聲音,video/*表示移動的圖片,包括聲音,application/*表示二進制數據,message/*表示協議特定的信封,如email消息和HTTP響應,multipart/*表示多個文檔和資源的容器。

最後請求以一個空行結束。

c) 服務器向客戶端發送響應。響應以響應碼開頭,後面是包含元數據的首部,一個空行以及所請求的文檔或者錯誤信息

 

 

d) 服務器關閉連接

3、http響應碼

1xx:信息

100 Continue 服務器準備接受請求主題,客戶端應當發送請求主體;這允許客戶端在請求中發送大量數據之前詢問服務器是否將接受請求。

101 Switching Protocols 服務器接受客戶端在Upgrage首部字段中要求改變應用協議的請求,如從HTTP改爲WebSockets

2xx Successful 請求成功

200 OK 請求成功

201 Created 服務器已經在響應主題中指定的URL處創建了資源。

203 由代理服務器返回資源

204 服務器處理請求但不返回資源給客戶端

205 服務器處理請求但不返回資源給客戶端並刪除客戶端表單數據

3xx 重定位及其重定向

300 服務器爲所請求的文檔提供一組不同表示

301 服務器上的資源已經移動到一個新的url

302 服務上的資源暫時位於一個新的url

4xx 客戶端錯誤

400 客戶端向服務器發送的請求語法錯誤

401 需要身份認證

403 服務器拒絕(響應超時)

404 資源路徑找不到

5xx 服務器錯誤

500 發生意外情況,服務器不知道如何處理

501 服務器不能處理該類方法請求

502 代理服務器不能連接到內部服務器

4、http方法

HTTP主要有GET,POST,PUT,DELETE方法

GET PUT DELETE方法具有冪等性(執行同樣多次操作和執行以此操作的結果影響是一樣的。)

HEAD方法:返回首部;OPTIONS:返回服務器支持處理某一個資源的方法的類型

5、Sessioncookie的區別參見:

a) http://www.cnblogs.com/linguoguo/p/5106618.html

發佈了40 篇原創文章 · 獲贊 25 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章