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


 1. URI>URL

 

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

URL:“Uniform Resource Locator” (URL) 是URI的子集, 標識資源的地址

URN:URN作用就好像一個人的名字,URL就像一個人的地址。換句話說:“URN確定了東西的身份,URL提供了找到它的方式。”

 

絕對URI格式:

 

 

 

2. HTTP1.1協議結構

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

 

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

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

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 請求報文和響應報文的內 容如下。

 


免責聲明!

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



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