《HTTP圖解》2——簡單瞭解HTTP協議

 1. URI>URL安全

 

URI:「A Uniform Resource Identifier (URI) 是一個緊湊的字符串用來標示抽象或物理資源。」服務器

URL:「Uniform Resource Locator」 (URL) 是URI的子集, 標識資源的地址spa

URN:URN做用就好像一我的的名字,URL就像一我的的地址。換句話說:「URN肯定了東西的身份,URL提供了找到它的方式。」3d

 

絕對URI格式:代理

 

 

 

2. HTTP1.1協議結構orm

(1)請求報文:請求方法、請求URI、協議版本、可選的請求首部字段和內容實體構成的。blog

 

(2)響應報文:協議版本、狀態碼、用於解釋狀態碼的短語、可選的響應首部字段以及實體主體構成。內存

(3)HTTP是不保存狀態的協議ci

HTTP1.1雖然是無狀態協議,但爲了實現保持狀態,因而引入Cookie技術,有了Cookie就能夠管理狀態了資源

 

(4)請求URI定位資源

 

(5)告知服務器意圖

GET:獲取資源

GET用來請求訪問一被URI識別的資源,若是請求的資源是文本,那就保持原樣返回,若是是CGI那樣的程序,則返回執行後的結果。

 

POST:傳輸實體主體

雖然用GET也能夠傳輸實體,但通常用POST

 

PUT:傳輸文件

HTTP1.1的PUT方法自身不帶驗證機制,任何人均可以上傳文件,存在安全問題。因此通常不用。

 

HEAD:獲取報文首部

HEAD方法和GET方法同樣,只是不反悔報文主體部分。用於確認URI的有效性及資源更新的日期時間等。

 

 

DELETE:刪除文件

HTTP1.1的DELETE方法自身不帶驗證機制,任何人均可以上傳文件,存在安全問題。因此通常不用。除非配合Wev應用程序的驗證機制或者遵照REST標準時仍是有可能開放使用的。

 

 

OPTIONS:詢問支持的方法

 

TRACE:追蹤路徑

不經常使用,加上它容易引起XST(Cross-Site-Tracing,跨站追蹤)攻擊

 

CONNECT:要求用隧道協議鏈接代理

 

(6)使用方法下達命令

 

(7)持久鏈接節省通訊量

只要任意一端沒有明確提出斷開鏈接,則保持TCP鏈接狀態:HTTP keep-alive

好處:在於減小了TCP鏈接的重複創建和斷開所形成的額外開銷以及更快地展現頁面。在HTTP1.1中,全部的鏈接默認都是持久鏈接。

    在於還有管線化技術讓並行成爲可能,而不須要一個接一個地等待響應。

 

(8)使用Cookie的狀態管理

不保存狀態的好處:減小服務器的CPU及內存資源的消耗

Cookie原理以下圖:

上圖展現了發生 Cookie 交互的情景,HTTP 請求報文和響應報文的內 容以下。

相關文章
相關標籤/搜索