HTTPhtml
HTTP 協議是基於請求-響應的協議,客戶端請求一個文件,服務器對該請求進行響應。HTTP 使用 TCP
協議, 默認使用80端口。 最初的HTTP協議版本是HTTP/0.9, 後被HTTP/1.0替代。 目前使用的版本是HTTP/1.1 .服務器
在 HTTP 協議中,老是由主動創建鏈接、發送 HTTP 請求的客戶端來初始化一個事務。服務器不負責連
接客戶端,或建立一個到客戶端的回調鏈接(callback connection) 。app
Http requestjsp
一個 HTTP 請求包含如下三部分:
網站
Method—Uniform Resource Identifier (URI)—Protocol/Version Request headers Entity body
舉例以下(注意三部分之間要有空行) :
url
POST /examples/default.jsp HTTP/1.1 Accept: text/plain; text/html Accept-Language: en-gb Connection: Keep-Alive Host: localhost User-Agent: Mozilla/4.0 (compatible; MSIE 4.01; Windows 98) Content-Length: 33 Content-Type: application/x-www-form-urlencoded Accept-Encoding: gzip, deflate lastName=Franks&firstName=Michael
每一個 HTTP 請求都會有一個請求方法,HTTP1.1 中支持的方法包括,GET、POST、HEAD、OPTIONS、PUT 、
DELETE 和 TRACE。互聯網應用中最經常使用的是 GET 和 POST。
URI 指明瞭請求資源的地址,一般是從網站更目錄開始計算的一個相對路徑,所以它老是以斜線「/」
開頭的。URL 其實是 URI 的一種類型(參見 http://www.ietf.org/rfc/rfc2396.txt)) 。code
請求頭(header)中包含了一些關於客戶端環境和請求實體(entity)的有用的信息。例如,客戶端瀏
覽器所使用的語言,請求實體信息的長度等。每一個請求頭使用 CRLF(回車換行符, 「\r\n」 )分隔。注意請求
頭的格式:
請求頭名+英文空格+請求頭值
請求頭和請求實體之間有一個空白行(CRLF) 。這是 HTTP 協議規定的格式。HTTP 服務器,以此肯定請
求實體是從哪裏開始的。上面的例子中,請求實體是:
orm
lastName=Franks&firstName=Michael