[HTTP協議]

我是太陽啦啦啦發表於2017-12-31

前言:

這篇部落格我們們來總結一下http協議,http協議是Javaweb的一個重要的知識點.

核心:

協議概述

> HTTP是HyperText Transfer Protocol(超文字傳輸協議)的簡寫,傳輸HTML檔案。

> 用於定義WEB瀏覽器與WEB伺服器之間交換資料的過程及資料本身的格式。

請求部分
請求訊息行

請求方式:Get(預設) POST  DELETE  HEAD等

GET:明文傳輸 不安全,資料量有限,不超過1kb

GET/day08_02/1.html?uName=tom&pwd=123 HTTP/1.1

POST: 暗文傳輸,安全。資料量沒有限制。

URI:統一資源識別符號。去協議和IP地址
請求訊息頭

Accept:瀏覽器可接受的MIME型別

告訴伺服器客戶端能接收什麼樣型別的檔案。

Accept-Charset: 瀏覽器通過這個頭告訴伺服器,它支援哪種字符集

Accept-Encoding:瀏覽器能夠進行解碼的資料編碼方式,比如gzip

Accept-Language:瀏覽器所希望的語言種類,當伺服器能夠提供一種以上的語言版本時要用到。可以在瀏覽器中進行設定。

Host:初始URL中的主機和埠

Referrer:包含一個URL,使用者從該URL代表的頁面出發訪問當前請求的頁面

Content-Type:內容型別

告訴伺服器瀏覽器傳輸資料的MIME型別,檔案傳輸的型別

            application/x-www-form-urlencoded

If-Modified-Since: Wed, 02 Feb 2011 12:04:56 GMT利用這個頭與伺服器的檔案進行比對,如果一致,則從快取中直接讀取檔案。

User-Agent:瀏覽器型別.

Content-Length:表示請求訊息正文的長度

Connection:表示是否需要持久連線。如果伺服器看到這裡的值為“Keep -Alive”,或者看到請求使用的是HTTP 1.1(HTTP 1.1預設進行持久連線

Cookie:這是最重要的請求頭資訊之一 (在講會話時解析)

Date:Date: Mon, 22Aug 2011 01:55:39 GMT請求時間GMT

訊息正文

1、當請求方式是POST方式時,才能看見訊息正文

uName=tom&pwd=123

響應部分

1、響應訊息行

HTTP/1.1   200  OK

協議/版本   響應狀態碼  對響應碼的描述(一切正常)

響應狀態碼:

常用的就40多個。

200(正常)  一切正常

302/307(臨時重定向)

304(未修改)

表示客戶機快取的版本是最新的,客戶機可以繼續使用它,無需到伺服器請求。

404(找不到)  伺服器上不存在客戶機所請求的資源。

500(伺服器內部錯誤) 

2、響應訊息頭

Location: http://www.it315.org/index.jsp指示新的資源的位置

             通常和302/307一起使用,完成請求重定向

Server:apachetomcat指示伺服器的型別

Content-Encoding: gzip伺服器傳送的資料採用的編碼型別

Content-Length:80 告訴瀏覽器正文的長度

Content-Language:zh-cn服務傳送的文字的語言

Content-Type: text/html; charset=GB2312伺服器傳送的內容的MIME型別

Last-Modified:Tue, 11 Jul 2000 18:23:51 GMT檔案的最後修改時間

Refresh: 1;url=http://www.it315.org指示客戶端重新整理頻率。單位是秒

Content-Disposition: attachment; filename=aaa.zip指示客戶端下載檔案

Set-Cookie:SS=Q0=5Lb_nQ;path=/search伺服器端傳送的Cookie

Expires: -1

Cache-Control: no-cache (1.1) 

Pragma: no-cache  (1.0)  表示告訴客戶端不要使用快取

Connection:close/Keep-Alive  

Date:Tue, 11 Jul 2000 18:23:51 GMT

3、響應正文

和網頁右鍵“檢視原始碼”看到的內容一樣。

總結:

今天的內容總結到這裡,謝謝讀者的閱讀!

相關文章