1、HTTP(超文本傳輸協議):是TCP/IP應用層協議,用于定義WEB瀏覽器與WEB服務器之間交換數據過程;
HTTP請求包括:一個請求行,若干請求頭,實體內容
2、http請求細節----請求行:
1)請求方式:post、get、head、options、delete、trace、put;
2)常用post、get
3)post、get區別:表現在數據傳遞上
? A)get方式可在url地址后以?形式帶上交給服務器的數據,多個數據之間以&分隔,但數據容量不能超過1k;
?B)post可在請求的實體中向服務器發送請求,傳送數據量無限制
3、http請求頭?
Accept:告訴服務器? 客戶機支持的數據類型
Accept-Charset:告訴服務器,客戶機采用的編碼
Accept-Encoding:告訴服務器,客戶機支持的壓縮格式
Accept-Language:客戶機的語言環境
Host:客戶機通過這個頭告訴服務器想訪問的主機
If-Modified-Since:客戶機通過這個頭告訴服務器,資源的緩存時間,第一次瀏覽完一個頁面后,會記錄下這次訪問頁面的時間,發送http請求后,通過與服務器的最新頁面更新時間進行比對,如果比這個參數里面記錄的時間新,則將最新頁面顯示出來,否則直接訪問之前的頁面
Referer:客戶機通過這個頭告訴服務器,它是從哪個資源來訪問服務器(防盜鏈)
User-Agent:告訴服務器客戶機的軟件環境
Cookie:可以向服務器帶數據
Connection:
Date
HTTP響應頭:一個狀態行、若干消息頭、以及實體內容
1、狀態行:
1)格式:HTTP版本號? 狀態碼? 原因敘述<CRLF>
? ?狀態碼用于表示服務器對請求的處理結果,為三位的十進制數,響應狀態碼分5類:
?1)100-199;
2)200-299:常用200,表示成功接收請求并完成整個處理過程,一切OK
3)300-399:為完成請求,客戶需進一步細化請求,302 讓找別人,304/307 拿緩存
4)400-499:客戶端請求有錯誤,常用404? ?403,常見為地址敲錯了,服務器沒有這個資源出現404,
? ? ? ? ? ? ? ? ? 客戶端沒有權限訪問服務器出現403
5)500-599:服務器端出現錯誤,常用500
HTTP響應頭細節
Location:這個頭配合302狀態使用,用于告訴客戶機找誰
Server:服務器通過這個頭告訴瀏覽器服務器的類型
Content-Encoding:服務器通過這個頭告訴瀏覽器數據的壓縮格式
Content-Length:通過這個頭高速瀏覽器數據的長度
Content-Type:服務器通過這個頭告訴瀏覽器回送數據的類型(數據類型表示服務器告訴瀏覽器將怎樣顯示數據,是以圖片顯示,還是文字顯示)
Last-Modified:服務器通過這個頭瀏覽器告訴當前資源緩存時間
Refresh:服務器通過這個頭告訴瀏覽器隔多長時間刷新一次,如:論壇登錄后提示隔幾秒進入xx頁面
Content-Disposition:服務器通過這個頭告訴瀏覽器以下載方式打開數據
Transfer-Encoding:服務器通過這個頭告訴瀏覽器數據的傳送格式
ETag:實時更新。比較服務器的時間和瀏覽器的時間,一樣則直接拿緩存,不一樣則更新
Expires:服務器通過這個頭告訴瀏覽器把回送的資源緩存多長時間,-1或0,則是不緩存
Cache-Control:no-cache
Pragma:no-cache