標籤:chm res head 提交 lan charset get、post、 www arc
HTTP協議
7.1.什麼是HTTP協議:
HTTP協議是用來規定瀏覽器用戶端和伺服器通訊的方式
7.2.基本原則
基於請求響應模型
一次請求對應一次響應
請求只能由用戶端發出, 伺服器只能被動的等待請求, 做出回應
7.3.http協議詳解
7.3.1.Http請求
請求行
GET /news3/1.html HTTP/1.1
GET:
提交方式, 一共有7種(GET、POST、HEAD、OPTIONS、PUT、DELETE和TARCE),其中5種不常用, 只用GET和POST提交
/news3/1.html:
請求資源的路徑
HTTP/1.1:
1.0和1.1: 1.0版本的協議在每次通訊結束後會立即斷開用戶端和伺服器之間的串連(通道), 如果需要再次發送請求, 只能再建立新的串連
1.1版本的協議在每次通訊結束後會將串連保持一段時間, 如果在這段時間內需要發送請求, 可以複用該串連.
若干要求標頭
Accept: text/html,image/*
-- 通知伺服器當前瀏覽器可以接受那些格式的資料
Accept-Charset: ISO-8859-1
-- 瀏覽器可以接受的字元集編碼
Accept-Encoding: gzip,compress
-- 瀏覽器可以接受的壓縮格式
Accept-Language: en-us,zh-cn
-- 瀏覽器接受的語言環境,和國際化相關的頭
Host: www.tedu.cn:80
-- 需要訪問的虛擬機器主機的名稱
!!Referer:
http://www.tedu.cn/index.jsp
-- 這是和防盜鏈相關的頭,對當前資源的訪問來自哪個頁面的超連結
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
-- 用戶端的基本資料
!!Cookie
-- 和cookie相關的頭
Connection: close/Keep-Alive
-- 是否繼續保持串連
Date: Fri, 17 Feb 2017 18:23:51 GMT
-- 當前發送請求的時間
(一個空行)
請求實體內容
xxxxxx
7.3.2.Http響應
一個狀態行
HTTP/1.1 200 OK
HTTP/1.1: Http協議的版本
200: 狀態代碼, 一個三位的數字(100~600) 表示伺服器對請求處理的結果
常用的狀態代碼:
200: 表示伺服器成功的處理請求
302: 表示請求重新導向
304: 表示通知瀏覽器使用緩衝
307: 表示通知瀏覽器使用緩衝
404: 表示資源找不到
500: 伺服器內部出現錯誤!
OK: 描述資訊
若干回應標頭:
!!Location: http://www.tedu.cn/index.jsp
-- 配合302使用實現請求重新導向
Server:apache tomcat
-- 伺服器的基本資料
Content-Encoding: gzip
-- 伺服器發送的資料使用的壓縮格式
Content-Length: 80
-- 伺服器發送的資料的大小
Content-Language: zh-cn
--伺服器發送的資料使用的語言環境 國際化相關的頭
!!!Content-Type: text/html; charset=GB2312
-- 伺服器發送的資料是什麼格式的,如果是字元格式設定的資料,則還可以通知伺服器發送的資料使用的是什麼編碼,瀏覽器會根據這個頭指定的編碼決定使用哪個編碼來開啟收到的資料
!!Refresh: 1;url=http://www.tedu.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: Fri, 17 Feb 2017 18:24:11 GMT
-- 響應時的時間
(一個空行)
響應實體內容
xxxxxx
HTTP 協議基本知識