HTTP與HttpServlet
HTTP是一種基于請求/響應模式的協議。
HTTP請求
HTTP請求有3個部分構成,分別是:
請求方法 URI 協議/版本
請求頭
請求正文
例:
GET/sample.jsp HTTP/1.1
1.請求方法 URI 協議/版本
請求的第一行是“方法URI 協議/版本”:
GET/sample.jsp HTTP/1.1
以上代碼中“GET”代表請求方法,“/sample.jsp”表示URI,“HTTP/1.1”代表協議和協議的版本。
根據HTTP標準,HTTP請求可以使用多種請求方法。HTTP1.1支持7中請求方法:GET、POST、HEAD、OPTIONS、PUT、DELETE和TRACE。最常用的:POST和GET。
URI完整地指定了要訪問的網絡資源,通常只要給出相對于服務器的根目錄大的相對目錄即可,因此總是以“/”開頭。
協議版本生命了通信的過程中使用的HTTP的版本。
2.請求頭
請求頭包含許多有關客戶端環境和請求正文的有用信息。如:瀏覽器所用的語言,正文的長度等。
Accept:image/gif,image/jpeg,*/*;
3.請求正文
請求頭和請求正文之間時一個空行,這個行非常重要,它表示請求頭已經結束,接下來的是請求正文。請求正文中可以包含客戶提交的查詢字符串信息:
userName=weiqin&password=1234
HTTP 響應
由3個部分構成:
協議 狀態代碼 描述
響應頭
響應正文
HTTP響應例子:
HTTP/1.1 200 OK
1.協議 狀態代碼 描述
HTTP 響應的第一行類似于HTTP請求的第一行,它表示通信所用的協議是HTTP1.1,服務器已經成功地處理了客戶端發出的請求(200 表示成功);
2.響應頭
響應頭和請求頭一樣包含許多有用的信息,例如服務器類型,日期時間、內容類型和長度等。
Server:ApacheTomcat/5.0.12
3.響應正文
響應正文就是服務器返回的HTML頁面:
<html>
<head></head>
...
<body></body>
</html>