深入瞭解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本身
好好學習,天天向上!繼續下一章…👏👏👏👏👏👏
感謝您閱讀,如果對作者其它文章也很感興趣,請掃碼關注!🚀🚀🚀🚀🚀🚀