客戶端連上伺服器後,向伺服器請求某個web資源,稱之為客戶端向伺服器傳送了乙個http請求,乙個完整
的http請求包括:
描述客戶端的請求方式,請求資源名稱,使用的http協議版本號
請求方式get post(預設是get可以更改表單提交方式為post)
區別主要在資料傳遞上
get可以在url位址後 ?帶上資料 以&分割資料容量不能超過1k
post可以在請求的實體內容中向伺服器傳送資料 資料量無限制
描述客戶端請求哪台主機以及客戶端的一些環境資訊
常用頭
accept:用於告訴伺服器,客戶機支援的資料型別
text/html,image/*
accept-charset:客戶機採用的編碼
iso-8859-1
accept-encoding:客戶機支援的資料壓縮格式
gzip,compress
accept-language:客戶機的語言環境
en-us,zh-cn 語言**-國家**
host:客戶機想訪問的主機名
www.***.org:80
if-modified-since:客戶機告訴伺服器資源的快取時間
tue,11,jul 2000 18:08:16 gmt
referer:客戶機告訴伺服器自己是從哪個資源來訪問伺服器(防盜煉)
user-agent:客戶機告訴伺服器自己的軟體環境瀏覽器版本作業系統核心
cookie:客戶機向伺服器帶資料
connection:請求結束是關閉還是保持連線
close/keep-alive
date:當前時間值
乙個空行
實體內容
乙個http響應代表伺服器向客戶端回送的資料,包括:
用於描述伺服器對請求的處理結果
200狀態碼 表示伺服器對請求的處理結果 三位十進位制數
100-199
成功接收 要求客戶端提交下一次請求才能完成整個處理過程(不常用)
200-299
成功接收 並已完成整個處理過程 常用200
300-399
為完成請求 客戶需進一步細化請求 例如請求的資源已經移動到乙個新位址常用302(去找別人location),307和304(去拿快取)
400-499
客戶端的請求有錯誤 常用404(伺服器沒有請求資源) 403(許可權不夠拒絕)
500-599
伺服器端出現錯誤 常用500
用於描述伺服器的基本資訊以及資料的描述,伺服器通過這些資料的描述資訊,可以通知客戶端如何處理等一會它回送的資料(控制客戶端的行為)
location:配合320狀態碼使用告訴客戶找誰(用location和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:08:16 gmt
refresh:告訴瀏覽器多長時間重新整理一次3,url=
transfer-ecoding:告訴瀏覽器資料的傳送格式chunked塊傳輸
etag:快取相關的頭 可以做到實時更新
expires:告訴瀏覽器把回送的資源快取多長時間 -1或0不快取
cache-controll:no-cache不快取
pragma:no-cache不快取(適應不同瀏覽器)
connection:請求結束是關閉還是保持連線close/keep-alive
date:當前時間值
乙個空行
實體內容代表伺服器向客戶端回送的資料
range頭指示伺服器只傳輸一部分web資源,可以用來實現斷點續傳功能,三種格式:
range:bytes=1000-2000傳輸範圍從1000-2000位元組
range:bytes=1000-傳輸web資源中第1000個位元組以後的所有內容
range:bytes=1000傳輸最後1000個位元組
accept-ranges:這個字段說明web伺服器是否支援range支援返回bytes不支援返回none
content-range:指定了返回的web資源的位元組範圍如content-range:1000-3000/5000
HTTP請求和響應
1 http請求包含的內容 1 http請求的請求行 2 http請求的請求頭 2 http響應包含的內容 1 http響應的狀態行 200表示成功接受請求並完成整個處理過程 302表示去新位址找資源 307和304表示去快取中找資源 404表示客戶請求資源不存在 403表示客戶沒有許可權獲取資源 ...
http請求和響應
http協議 對瀏覽器客戶端 和 伺服器端 之間資料傳輸的格式規範 1 使用火狐的firebug外掛程式 右鍵 firebug 網路 2 使用谷歌的 審查元素 get day09 hello http 1.1 請求行 host localhost 8080 請求頭 多個key value物件 use...
HTTP 請求和響應過程
一次完整的http請求過程從tcp三次握手建立連線成功後開始,客戶端按照指定的格式開始向服務端傳送http請求,服務端接收請求後,解析http請求,處理完業務邏輯,最後返回乙個http的響應給客戶端,http的響應內容同樣有標準的格式。無論是什麼客戶端或者是什麼服務端,大家只要按照http的協議標準...