讀《圖解HTTP》day01
一、URI和URL的區(qū)別
URI:統(tǒng)一資源標識符。某個協(xié)議方案表示的資源的定位標識符。用字符串標識某一互聯(lián)網(wǎng)資源。
URL:統(tǒng)一資源定位符。表示資源的地點(互聯(lián)網(wǎng)上所處的位置)。
可見,URL是URI的子集。
二、HTTP請求報文和響應報文解讀
HTTP請求報文:由請求方法、請求URI、協(xié)議版本、可選的請求首部字段、內容實體構成。
GET:請求訪問服務器的類型,稱為方法。
/index.html:指明了請求訪問的資源對象,也叫做請求URI。指定請求URI的方式有多種。
URI為完整的請求URI:
在首部字段Host中寫明網(wǎng)絡域名或IP地址:
如果不是訪問特定資源而是對服務器本身發(fā)起請求,可以使用一個 * 來代替請求URI。
HTTP/1.1:HTTP版本號,提示客戶端使用的HTTP協(xié)議功能。
HTTP響應報文:由協(xié)議版本、狀態(tài)碼、用以解釋狀態(tài)碼的原因短語、可選的響應首部字段、實體主體構成。
HTTP/1.1:服務器對應的HTTP版本。
200 OK:請求處理結果的狀態(tài)碼和原因短語。
Date: Tue, 10 Jul 2012 06:50:15 GMT:創(chuàng)建響應的日期時間,是首部字段內的一個屬性。
三、HTTP方法
注:方法名區(qū)分大小寫,注意要用大寫字母。
GET:獲取資源。用來請求訪問已被URI識別的資源。
POST:傳輸實體的主體。
PUT:傳輸文件。要求在請求報文的主體中包含文件內容,然后保存到請求URI指定的位置。
自身不帶驗證機制,任何人都可以上傳文件,存在安全性問題。
HEAD:獲得報文首部。用于確認URI的有效性以及資源更新的日期等,不返回報文主體部分。
DELETE:刪除文件。按請求URI刪除指定的資源。
自身不帶驗證機制。
OPTIONS:詢問支持的方法。用來查詢針對請求URI指定的資源支持的方法。
TRACE:追蹤路徑。讓Web服務器端將之前的請求通信環(huán)回給客戶端。
不常用,容易引起XST(Cross-Site Tracing,跨站追蹤)攻擊,更不會用到了。
CONNECT:要求用隧道協(xié)議連接代理。要求在與代理服務器通信時建立隧道,實現(xiàn)用隧道協(xié)議實現(xiàn)TCP通信。
使用SSL(Secure Sockets Layer,安全套接層)和TLS(Transport Layer Secure,傳輸層安全)協(xié)議把通信內容加密后經(jīng)網(wǎng)絡隧道傳輸。