HTTP的簡單講解

一、HTTP協議概述
規定了客戶端和服務器端如何通信的協議。
基於TCP/IP的一套應用層的協議。
分爲請求和響應兩部分。

特點:
基於請求響應模型
一次請求對應一次響應
請求只能由客戶端發出,服務器端被動等待請求做出響應。


HTTP協議目前爲止有兩個版本:
HTTP1.0
HTTP1.1
區別是,1.1可以複用底層流,1.0不行
二、HTTP請求
一個HTTP請求由 一個請求行 若干請求頭 一個空行 實體內容
(1)一個請求行:
GET /news/1.html HTTP/1.1
代表請求方式
請求的資源路徑
當前請求遵循的協議
(2)若干請求頭
Accept: text/html,image/*   
-- 通知服務器當前瀏覽器可以接受那些格式的數據
Accept-Charset: ISO-8859-1  
-- 瀏覽器可以接受的字符集編碼
Accept-Encoding: gzip,compress 
-- 瀏覽器可以接受的壓縮格式
Accept-Language: en-us,zh-cn  
-- 瀏覽器接受的語言環境,和國際化相關的頭
Host: www.it315.org:80  
--  需要訪問的虛擬主機的名稱
If-Modified-Since: Tue, 11 Jul 2000 18:23:51 GMT 
-- 這是和緩存機制相關的頭
Referer: http://www.it315.org/index.jsp 
-- 這是和防盜鏈相關的頭,對當前資源的訪問來自哪個頁面的超鏈接
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
-- 客戶端的基本信息
Cookie 
-- 和cookie相關的頭
Connection: close/Keep-Alive 
-- 是否繼續保持連接   
Date: Tue, 11 Jul 2000 18:23:51 GMT 
-- 當前發送請求的時間
(3)實體內容
POST提交的請求參數就是在實體內容中進行傳輸的


三、HTTP響應
一個狀態行 若干響應頭 一個空行 實體內容
(1)一個狀態行
HTTP/1.1 200 OK
所遵循的協議版本
響應狀態碼,所謂的狀態碼時http協議規定的3位的十進制數100-599,用這三位的狀態碼錶示處理的結果。
其中
100-199表示處理成功,如果想要繼續進行需要進一步提供信息
200-299表示請求正確的處理完成
300-399表示請求正確的處理但是產生了一些額外情況
400-499表示客戶端發送的請求由問題
500-599表示服務器發生了問題


200 - 請求正確處理完成
302 - 發生了請求重定向,配以Location相應頭實現請求重定向的功能
304、307 - 通知客戶端使用緩存中的資源
404 - 找不到資源
500 - 服務器處理請求發生錯誤
狀態描述
(2)若干響應頭
Location: http://www.it315.org/index.jsp  
-- 配合302使用實現請求重定向
Server:apache tomcat 
-- 服務器的基本信息
Content-Encoding: gzip  
-- 服務器發送的數據使用的壓縮格式
Content-Length: 80 
-- 服務器發送的數據的大小
Content-Language: zh-cn 
--服務器發送的數據使用的語言環境 國際化相關的頭
Content-Type: text/html; charset=GB2312 
-- 服務器發送的數據是什麼格式的,如果是字符格式的數據,則還可以通知服務器發送的數據使用的是什麼編碼,瀏覽器會根據這個頭指定的編碼決定使用哪個編碼來打開收到的數據
Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT 
-- 和緩存相關的頭
Refresh: 1;url=http://www.tarena.cn 
-- 定時刷新相關的頭,通知瀏覽器,過幾秒後自動刷新訪問哪個地址
Content-Disposition: attachment;filename=aaa.zip 
-- 通知瀏覽器以附件的形式打開發送過去的數據,是和文件下載相關的頭
Set-Cookie:SS=Q0=5Lb_nQ; path=/search 
-- 和Cookie相關的頭
Expires: -1 
-- 通知瀏覽器是否緩存
Cache-Control: no-cache  
-- 通知瀏覽器是否緩存
Pragma: no-cache   
-- 通知瀏覽器是否緩存
--之所以同一個功能有三個不同的頭,是因爲歷史原因造成的。我們通常這三個頭一起使用。
Connection: close/Keep-Alive   
-- 是否保持連接
Date: Tue, 11 Jul 2000 18:23:51 GMT 
-- 響應時的時間
(3)實體內容
放置的時服務器發送給瀏覽器的數據。
發佈了50 篇原創文章 · 獲贊 1 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章