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)、空行和請求數據四個部分組成,下圖給出了請求報文的一般格式。
服務器響應消息
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.
相關推薦
'java實現HTTP請求的三種方式'
"作者:君臨-行者無界來源:http://www.cnblogs.com/hhhshct/p/8523697.html目前JAVA實現HTTP請求的方法用的最多的有兩種:一種是通過HTTPClient這種第三方的開源框架去實現。HTTPClient對HTTP的封裝性比較不錯...
'一文讓你瞭解JVM的內存結構,別再說你還不懂JVM'
"前言Jvm的內存結構是由《java虛擬機規範》制定的,《java虛擬機規範》只負責制定標準,具體的實現多種多樣,比如:sun公司的HotSpot、BEA的JRockit、IBM的J9(前兩個目前都已被Oracle收購),另外Apache、Google、微軟等組織或公司都有...
'記網站由http改為https的幾個步驟'
" 環境:centos7 + apache 1.申請證書 這裡申請的是阿里雲的免費證書。購買ssl證書後,按照提示填寫資料,然後等待審核。證書狀態變為已簽發就可以下載證書了。根據自己的web服務器選擇下載即可。 2.上傳證書到服務器 可以在web服務器程序目錄下創建一個目...
重蔚php學習第三十六天筆記——HTTP響應
HTTP響應讓瀏覽器能夠正確解析服務器給瀏覽器返回的內容HTTP響應分為四個部分:狀態行,響應頭,空行,消息體(響應內容) 狀態行:協議版本 狀態碼 狀態...
通用場景、車聯網、順序消息(新)等典型場景解讀及性能分析報告
更多深度文章,請關注雲計算頻道:https://yq.aliyun.com/cloud消息隊列(MQ)可應用在多個領域,包括異步通信解耦、企業解決方案、金...
推薦中...