HTTP請求裏包括些什麼內容?HTTP響應裏包括些什麼內容?

1 HTTP請求

  HTTP請求包(GET?POST等請求方法)由三個部分構成,分別是:方法-URI-協議/版本,請求頭,請求正文?下面是一個HTTP協議請求包(GET)的例子:

  1.GET /index.jsp HTTP/1.1

  2.Accept-Language: zh-cn

  3.Connection: Keep-Alive

  4.Host: 192.168.0.106

  5.Content-Length: 37

  6.userName=new_andy&password=new_andy

  請求包的第一行是方法-URI-協議/版本:

  GET就是請求方法,根據HTTP標準,HTTP協議請求可以使用多種請求方法?HTTP 1.1支持七種請求方法:GET?POST?HEAD?OPTIONS?PUT?DELETE和TRACE等,常用的爲請求方法是GET和POST?

  /index.jsp表示URI?URI指定了要訪問的網絡資源?HTTP/1.1是協議和協議的版本?

  最後一行userName=new_andy&password=new_andy爲正文,正文與HTTP頭部有一個空行(rn)分隔?這裏需要說明的一點,其中Content-Length說明正文的長度,有的正文長度沒有在頭部說明,只是標明Transfer-Encoding: chunked?關於chunked類型的長度計算方法,見RFC 1626?

  請求包的頭部還會包含許多有關客戶端環境和請求正文的有用信息,這裏不再描述?

  2 HTTP協議應答包

  和HTTP請求包相似,由三個部分構成,分別是:協議-狀態代碼-描述,應答頭,應答正文?下面是一個HTTP應答的例子:

  1.HTTP/1.1 200 OK

  2.Server: Microsoft-IIS/4.0

  3.Date: Mon, 3 Jan 2005 13:13:33 GMT

  4.Content-Type: text/html

  5.Last-Modified: Mon, 11 Jan 2004 13:23:42 GMT

  6.Content-Length: 90

  7.<html>

  8.<head>

  9.<title>解讀HTTP包示例</title></head><body>

  10.Hello WORLD!

  11.</body>

  12.</html>

  HTTP應答包的第一行類似於HTTP協議請求的第一行,表示所用的協議是HTTP 1.1,服務器處理請求的狀態碼200?

  應答頭也和請求頭一樣包含許多有用的信息,例如服務器類型?日期時間?內容類型和長度等?應答的正文就是服務器返回的HTML頁面?應答頭和正文之間也用CRLF分隔?
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章