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