閱讀959 返回首頁    go 阿裏雲 go 技術社區[雲棲]


HTTP請求和響應格式

一、HTTP請求格式
<request-line>
<headers>
<blank line>
[<request-body>]
1、第一行必須是一個請求行(request-line),用來說明請求類型,要訪問的資源以及所使用的HTTP版本
2、緊接著是一個請求頭(header),用來說明服務器要使用的附加信息
3、緊接著是一個空行(blank line)
4、緊接著是請求體(request-body)

GET請求:
GET /text.html HTTP/1.1
Accept: */*
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)
Host: 127.0.0.1
Connection: Keep-Alive
第1部分是請求行,說明了該請求是一個GET請求。該行的第二部分是一個斜杠(/test.html),用來說明請求的是該域名的根目錄下的test.html頁麵,該行的最後一部分說明使用的是HTTP1.1版本。第2部分請求頭,HOST將指出請求的目的地,User-Agent,服務器端和客戶端腳本都能訪問它,它是瀏覽器類型檢測邏輯的重要基礎。該信息由你的瀏覽器來定義,並且在每個請求中自動發送,Connection通常將瀏覽器操作設置為Keep-Alive,而沒有響應後立即close這個連接。第3部分是空行,即使不存在請求主體,這個空行也是必需的。

POST請求:
POST /text.html HTTP1.1
Host:www.wrox.com
User-Agent:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)
Content-Type:application/x-www-form-urlencoded
Content-Length:40
Connection: Keep-Alive

name=Professional%20Ajax&publisher=Wiley

請求行開始處的GET改為POST,以表示不同的請求類型。Content-Type說明了請求主體的內容是如何編碼的,瀏覽器始終以application/x-www-form-urlencoded的格式編碼來傳送數據,這是針對簡單URL編碼的MIME類型.Content-Length說明了請求主體的字節數。最後請求主體.名稱-值對的形式。


二、HTTP響應格式
<status-line>
<headers>
<blank line>
[<response-body>]
1、第一行必須是一個狀態行(status-line)
2、緊接著是一個響應頭(header)
3、緊接著是一個空行(blank line)
4、緊接著是響應體(response-body)

HTTP/1.1 200 OK
Date: Fri, 22 May 2009 06:07:21 GMT
Content-Type: text/html; charset=UTF-8

<html>
      <head></head>
      <body>
            
      </body>
</html>
HTTP狀態碼200,找到資源,並且一切正常
Date:生成響應的日期和時間
Content-Type:指定了MIME類型的HTML(text/html),編碼類型是UTF-8
響應體:HTML源文體

原帖地址:https://www.cnblogs.com/shaoge/archive/2009/08/14/1546019.html

最後更新:2017-04-03 20:19:20

  上一篇:go 如何讓service不被殺死
  下一篇:go Debug與Release的區別