《HTTP權威指南》讀書筆記-HTTP簡介與訊息結構

來源:互聯網
上載者:User

標籤:http   請求報文   響應報文   

HTTP 簡介

HTTP協議是Hyper Text Transfer Protocol(超文字傳輸通訊協定 (HTTP))的縮寫,是用於從全球資訊網(WWW:World Wide Web )伺服器傳輸超文本到本地瀏覽器的傳送協議。

HTTP是一個基於TCP/IP通訊協定來傳遞資料(HTML 檔案, 圖片檔案, 查詢結果等)。

HTTP 工作原理

HTTP協議工作於用戶端-服務端架構為上。瀏覽器作為HTTP用戶端通過URL向HTTP服務端即WEB伺服器發送所有請求。

Web伺服器有:Apache伺服器,IIS伺服器(Internet Information Services)等。

Web伺服器根據接收到的請求後,向用戶端發送響應資訊。

HTTP預設連接埠號碼為80,但是你也可以改為8080或者其他連接埠。

HTTP三點注意事項:

  • HTTP是無串連:不需連線的含義是限制每次串連只處理一個請求。伺服器處理完客戶的請求,並收到客戶的應答後,即中斷連線。採用這種方式可以節省傳輸時間。
  • HTTP是媒體獨立的:這意味著,只要用戶端和伺服器知道如何處理的資料內容,任何類型的資料都可以通過HTTP發送。用戶端以及伺服器指定使用適合的MIME-type內容類型。
  • HTTP是無狀態:HTTP協議是無狀態協議。無狀態是指協議對於交易處理沒有記憶能力。缺少狀態意味著如果後續處理需要前面的資訊,則它必須重傳,這樣可能導致每次串連傳送的資料量增大。另一方面,在伺服器不需要先前資訊時它的應答就較快。

以表展示了HTTP協議通訊流程:

HTTP 訊息結構

HTTP是基於用戶端/服務端(C/S)的架構模型,通過一個可靠的連結來交換資訊,是一個無狀態的請求/響應協議。

一個HTTP"用戶端"是一個應用程式(Web瀏覽器或其他任何用戶端),通過串連到伺服器達到向伺服器發送一個或多個HTTP的請求的目的。

一個HTTP"伺服器"同樣也是一個應用程式(通常是一個Web服務,如Apache Web伺服器或IIS伺服器等),通過接收用戶端的請求並向用戶端發送HTTP響應資料。

HTTP使用統一資源識別項(Uniform Resource Identifiers, URI)來傳輸資料和建立串連。

一旦建立串連後,資料訊息就通過類似Internet郵件所使用的格式[RFC5322]和多用途Internet郵件擴充(MIME)[RFC2045]來傳送。

用戶端請求訊息

用戶端發送一個HTTP請求到伺服器的請求訊息包括以下格式:請求行(request line)、要求標頭部(header)、空行和請求資料4個部分組成,給出了請求報文的一般格式。


伺服器響應訊息

HTTP響應也由三個部分組成,分別是:狀態行、訊息前序、響應本文。



執行個體

下面執行個體是一點典型的使用GET來傳遞資料的執行個體:

用戶端請求:

GET /hello.txt HTTP/1.1User-Agent: curl/7.16.3 libcurl/7.16.3 OpenSSL/0.9.7l zlib/1.2.3Host: www.example.comAccept-Language: en, mi

服務端響應:

HTTP/1.1 200 OKDate: Mon, 27 Jul 2009 12:28:53 GMTServer: ApacheLast-Modified: Wed, 22 Jul 2009 19:15:56 GMTETag: "34aa387-d-1568eb00"Accept-Ranges: bytesContent-Length: 51Vary: Accept-EncodingContent-Type: text/plain

輸出結果:

Hello World! My payload includes a trailing CRLF.


《HTTP權威指南》讀書筆記-HTTP簡介與訊息結構

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.