1. 程式人生 > >解析HTTP(超文字傳輸協議)

解析HTTP(超文字傳輸協議)

  • HTTP

超文字傳輸協議為客戶端與伺服器端請求與應答的標準,是客戶端瀏覽器或其他程式與web伺服器之間的應用層通訊協議。

基於HTTP協議的資訊交換主要分為四個步驟:請求資訊、建立連線、傳送響應資訊、斷開連線。

HTTP為無狀態連線,可以通過cookies來解決無狀態問題,cookies相當於一個限時通行證,當客戶端第一次訪問時,給客戶端傳送cookies,當客戶端再次訪問時,伺服器則可以識別。

 

  • 請求與響應的格式

  均為明文。

 

  • ​​​​​​常用的請求方法

GET:獲取一個URL指定的資源,即資源實體。

HEAD:獲取宇哥指定資源的資訊。

POST:向伺服器提交資料。

PUT:向伺服器提交資源。

DELETE:請求伺服器刪除Request-U RI表示的資源。

TRACE:網路跟蹤。

CONNECT:與PROX Y之間的連線管理。

OPTIONS:查詢伺服器支援的方法。

 

  • 狀態碼

1××  請求被接受,一般只在實驗環境下用。

2××   成功,操作成功地被收到、理解和接受。

常見 : 200 伺服器成功返回網頁。

3××  重定義,為了完成請求,必須採取進一步措施。

常見: 301/2 永久/臨時重定義。

            304 NOT Modifined-未修改。

            307 重定向中保持原有的請求資料。

4××  客戶端錯誤,請求的語法有錯誤或者不能完全被滿足。

常見:404 請求的頁面不存在。

5×× 服務端錯誤,伺服器無法完成明顯有效的請求。

常見:500 伺服器內部錯誤。

           503 伺服器暫時不可用。

 

  • HTTP與HTTPS區別:

1、前者無需證書,後者需要SSL證書。

2、前者無法加密,後者對創術的資料進行加密,所以後者較前者更為安全。

3、前者標準埠為80,後者為443.

4、URL不同。

 

  •  HTTP的優化方案:

TCP複用、內容快取、壓縮、SLL加速、TCP緩衝。