《Oracle JavaEE編程自學與面試指南》01-07:HTTP協議

課程封面-JavaEE-AT阿寶哥


深入瞭解IT/互聯網行業及崗位,請參閱通用IT/互聯網崗位招聘計劃(最新全崗版)
深入瞭解職業晉升及學習路線,請參閱最優職業晉升路線和課程學習指南(最新全棧版)


內容導航

  • 1、HTTP協議
  • 2、請求
    • 2.1、GET
    • 2.2、POST
  • 3、響應

我們學習本門課程的目標,是使用JavaEE技術開發動態的Web應用,所以先了解Web應用的概念。
所謂Web應用,一般指的都是動態的,稱爲Web Application,例如噹噹、12306、百度等等。而靜態的網站,稱爲 Web site,下面先學習靜態和動態Web應用的不同訪問過程。

1、HTTP協議

HTTP,即超文本傳輸協議。

  • 無狀態協議
  • 用於通過 Internet 發送請求消息和響應消息
  • 使用端口接收和發送消息,默認爲80端口

2、請求

兩種常見的HTTP請求方法:GET和POST。

2.1、GET

GET方法:
不提交大量數據,無敏感、保密數據時使用
超級鏈接訪問,默認是GET方法
form提交,不指定method,默認爲GET方法
form提交,制定method=“GET”,很少用這種方式


GET / HTTP/1.1   
Host: gpcuster.cnblogs.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Connection: keep-alive
If-Modified-Since: Mon, 25 May 2009 03:19:18 GMT


  • Accept - Charset:瀏覽器可接受的字符集。
  • Accept - Encoding:瀏覽器能夠進行解碼的數據編碼方式,比如gzip。
  • Accept - Language:瀏覽器所希望的語言種類,當服務器能夠提供一種以上的語言版本時要用到。
  • If - Modified - Since:只有當所請求的內容在指定的日期之後又經過修改才返回它,否則返回304“Not Modified”應答

2.2、POST

POST方法:需要提交敏感、保密數據,或數據量較大
form提交,指定method=“POST”


POST / HTTP/1.1
Host: www.baidu.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6)
Gecko/20050225 Firefox/1.0.1
Content-Type: application/x-www-form-urlencoded
Content-Length: 40
Connection: Keep-Alive
name=Professional%20Ajax&publisher=Wiley

  • Content-Type說明了請求主體的內容是如何編碼的。瀏覽器始終以application/ x-www-form- urlencoded的格式編碼來傳送數據
  • Content-Length說明了請求主體的字節數。在首部Connection後是一個空行,再後面就是請求主體。與大多數瀏覽器的POST請求一樣,這是以簡單的“名稱—值”對的形式給出的,其中name是Professional Ajax,publisher是Wiley

3、響應

HTTP響應


HTTP/1.1 200 OK
Cache-Control: private, max-age=30
Content-Type: text/html; charset=utf-8
Content-Encoding: gzip
Expires: Mon, 25 May 2009 03:20:33 GMT
Last-Modified: Mon, 25 May 2009 03:20:03 GMT
Vary: Accept-Encoding
Server: Microsoft-IIS/7.0
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
Date: Mon, 25 May 2009 03:20:02 GMT
Content-Length: 12173
 
­消息體的內容(略)


HTTP響應

一個響應由四個部分組成;狀態行、響應頭標、空行、響應數據

  • 狀態行:狀態行由三個標記組成:HTTP版本、響應代碼和響應描述。
  • HTTP版本:向客戶端指明其可理解的最高版本。
  • 響應代碼:3位的數字代碼,指出請求的成功或失敗,如果失敗則指出原因。
  • 響應描述:爲響應代碼的可讀性解釋。 例如:HTTP/1.1 200 OK
  • 響應頭標:像請求頭標一樣,它們指出服務器的功能,標識出響應數據的細節。
  • 空行:最後一個響應頭標之後是一個空行,發送回車符和退行,表明服務器以下不再有頭標。
  • 響應數據:HTML文檔和圖像等,也就是HTML本身

好好學習,天天向上!繼續下一章…👏👏👏👏👏👏


掃碼關注AT阿寶哥,暢讀更多內容!


感謝您閱讀,如果對作者其它文章也很感興趣,請掃碼關注!🚀🚀🚀🚀🚀🚀


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章