e621小馬 e621( 二 )


URL的全稱是(Uniform Resource Locator),中文名稱是統一資源定位符,也就是我們俗稱的網址,它實際上是 URI 的一個子集 。

e621小馬  e621

文章插圖
HTTP報文起始行(start line):描述請求或響應的基本信息;頭部字段(header):使用 key-value 形式更詳細地說明報文;消息正文(entity):實際傳輸的數據,它不一定是純文本,可以是圖片、視頻等二進制數據 。起始行和頭部字段并成為 請求頭 或者 響應頭,統稱為 Header;消息正文也叫做實體,稱為 body 。HTTP 協議規定每次發送的報文必須要有 Header,但是可以沒有 body,在 header 和 body 之間必須要有一個空行(CRLF) 。
e621小馬  e621

文章插圖
舉個例子:http://www.someSchool.edu/someDepartment/home.index 請求的請求頭:
e621小馬  e621

文章插圖
報文的起始行都是由三個字段組成: *** 、URL 字段和 HTTP 版本字段 。
e621小馬  e621

文章插圖
HTTP 請求 *** GET 獲取資源,GET*** 用來請求訪問已被 URI 識別的資源 。指定的資源經服務器端解析后返回響應內容 。POST 傳輸實體,使用 POST 傳輸實體信息,提交表格內容 。PUT 傳輸文件,PUT*** 用來傳輸文件 。就像 FTP 協議的文件上傳一樣,要求在請求報文的主體中包含文件內容,然后保存到請求 URI 指定的位置 。但是,鑒于 HTTP 的 PUT*** 自身不帶驗證機制,任何人都可以上傳文件 , 存在安全性問題,因此一般的 W eb 網站不使用該 ***。若配合 W eb 應用程序的驗證機制,或架構設計采用REST(REpresentational State Transfer,表征狀態轉移)標準的同類 Web 網站,就可能會***使用 PUT***。HEAD 獲得響應首部,HEAD*** 和 GET*** 一樣,只是不返回報文主體部分 。用于確認 URI 的有效性及資源更新的日期時間等 。DELETE 刪除文件,DELETE*** 用來刪除文件,是與 PUT 相反的 ***。DELETE*** 按請求 URI 刪除指定的資源 。OPTIONS 詢問支持的 *** ,OPTIONS*** 用來查詢針對請求 URI 指定的資源支持的 ***。TRACE 追蹤路徑,TRACE*** 是讓 Web 服務器端將之前的請求通信環回給客戶端的 ***。CONNECT 要求用隧道協議連接 *** ,CONNECT*** 要求在與 *** 服務器通信時建立隧道,實現用隧道協議進行 TCP 通信 。主要使用 SSL(Secure Sockets Layer,安 *** 接層)和 TLS(Transport Layer Security,傳輸層安全)協議把通信內容加 密后經 *** 隧道傳輸 。一般最常用的 *** 也就是 GET*** 和 POST*** ,其他 *** 暫時了解即可 。
HTTP 請求 URL完整的域名解析一下 URL:http://www.example.com:80/path/to/myfile.html?key1=value1&key2=value2#SomewhereInTheDocument
http://告訴瀏覽器使用何種協議 。www.example.com 是域名、主機,指示了需要向 *** 上的哪一臺主機發起請求 。也可以直接向主機的ip發起請求 。端口 兩個主機之間要發起 TCP 連接需要兩個條件,主機 + 端口,表示用于訪問 Web 服務器上資源的入口,如果訪問的該 Web 服務器使用HTTP協議的標準端口(HTTP為80,HTTPS為443)授予對其資源的訪問權限,則通常省略此部分 。否則端口就是 URI 必須的部分 。路徑 /path/to/myfile.html 是 Web 服務器上資源的路徑 。以端口后面的之一個 / 開始,到 ? 號之前結束,中間的 每一個/ 都代表了層級(上下級)關系 。查詢參數?key1=value1&key2=value2 是提供給 Web 服務器的額外參數 。如果是 GET 請求,一般帶有請求 URL 參數,如果是 POST 請求,則不會在路徑后面直接加參數 。
錨點 #SomewhereInTheDocument 是資源本身的某一部分的一個錨點 。錨點代表資源內的一種“書簽” 。請求頭部比如http://www.someSchool.edu/someDepartment/home.index,來看一下它的請求頭部
Host: www.someschool.eduConnection: closeUser-agent: Mozilla/5.0Accept-language: fr復制代碼Host :表示的是對象所在的主機Connection: close 表示的是瀏覽器需要告訴服務器使用的是非持久連接 。它要求服務器在發送完響應的對象后就關閉連接 。User-agent: 這是請求頭用來告訴 Web 服務器,瀏覽器使用的類型是 Mozilla/5.0,即 Firefox 瀏覽器 。Accept-language 告訴 Web 服務器,瀏覽器想要得到對象的法語版本 。HTTP 的請求標頭分為四種: 通用標頭、請求標頭、響應標頭 和 實體標頭
通用標頭通用標頭主要有三個,分別是 Date、Cache-Control 和 Connection Date
Date 出現在請求標頭和響應標頭中,它的基本表示如下
Date: Wed, 21 Oct 2015 07:28:00 GMT 復制代碼Cache-Control

推薦閱讀