HTTP首部
HTTP請求:
客戶端連線到伺服器後,向伺服器請求某個web資源,稱之為客戶端向伺服器傳送了一個HTTP請求,一個完整的HTTP請求包含如下內容:
請求報文
請求報文結構圖
http的請求行:
請求方式:
POST、GET、HEAD、OPTIONS、DELETE、TRACE、PUT
常用的請求方式:POST、GET
這兩種請求的方式的區別主要表現在資料傳遞上:
如請求方式為GET方式,可以通過URL地址後面以“?”的形式提交給伺服器:
GET index.html?user=tom&passwd=1234 HTTP/1.1
GET方式的特點:在URL地址後面的附帶的引數是有限制的,其資料的容量通常不能超過1k
POST方式,則可以在請求的實體內容中向伺服器傳送資料,POST方式的特點是:傳送的資料量是無限制的。
訊息頭
Accept :text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding:gzip, deflate
Accept-Language:zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Connection :keep-alive
Host :139.159.238.105
Upgrade-Insecure-Requests:1
User-Agent :Mozilla/5.0 (Windows NT 6.1; WOW64; rv:55.0) Gecko/20100101 Firefox/55.0
請求的首部欄位 | 含義 |
---|---|
Accept | 用於告訴伺服器,客戶端支援的資料型別 |
Accept-charset | 通知伺服器客戶端支援的字符集 |
Accept-Encoding | 客戶端支援的壓縮格式 |
Accept-Language | 客戶端的語言環境 |
Host | 通知伺服器客戶端訪問的主機名 |
If-Modified-Sine | 通知伺服器快取時間,如果該值的時間大於伺服器資源修改的時間,則希望處理該請求 |
Referer | 通知伺服器通過哪個資源來訪問(盜鏈) |
User-Agent | 通知伺服器客戶端的軟體環境 |
Connection | 是否保持連結 |
Date | 建立報文的日期和時間 |
響應報文
響應報文的結構圖:
響應行
HTTP/1.1 200 ok
狀態碼:
狀態碼 | 含義 |
---|---|
200 | 請求成功 |
301 | 永久重定向 |
302 | 臨時重定向 |
304、307 | 快取相關的 |
400 | 請求報文存在語法問題 |
401 | 認證錯誤 |
403 | 訪問許可權受限 |
404 | 沒有找到請求的資源 |
500 | 伺服器端執行請求時發生錯誤,可能是存在bug或者是臨時故障 |
響應頭
Accept-Ranges:bytes
Connection:Keep-Alive
Content-Length:4
Content-Type:text/html; charset=UTF-8
Date:Mon, 21 Aug 2017 07:17:46 GMT
ETag:"4-5573e04d9c5f8"
Keep-Alive:timeout=5, max=100
Last-Modified:Mon, 21 Aug 2017 06:59:24 GMT
Server:Apache/2.4.6 (CentOS)
響應的頭部欄位 | 含義 |
---|---|
location | 和3xx狀態碼,重定向到指定的位置 |
server | 告知客戶端伺服器的型別 |
Content-Length | 告訴瀏覽器回送資料的長度 |
Content-Language | 回送資料的語言格式 |
Content-Type | 控制那種方式開啟資料 |
Last-Modified | 當前資源的最後快取時間 |
ReFresh | 間隔多長時間重新整理一次 |
Content-disposition | 伺服器告訴瀏覽器以下載方式開啟資料 |
Transfer-Encoding | 伺服器告訴瀏覽器資料的傳送格式 |
ETag | 快取相關的頭(可以做到時時更新,一般的快取是秒級的更新) |
Expires | 告訴瀏覽器回送資源的快取時間,-1或0,則不快取 |
Cache-Control | no-cache 不要快取 |
Pragma | no-cache 不要快取 |
connection | close/keep-alive 是否斷開連線 |
HTTP實現斷點續傳(Range)
HTTP請求訊息欄位
range頭欄位指示伺服器只傳輸一部分web資源 。這個頭用來實現斷點續傳。Range欄位可以通過三種格式設定傳輸的位元組範圍:
Range: byte=1000-2000
傳輸範圍從1000-2000
Range:byte=1000-
傳送web資源中第1000個位元組所有的內容
Range:byte=1000
傳輸最後1000個位元組
HTTP響應訊息欄位
Accept-Range:這個欄位說明web伺服器是否支援Range支援,如果支援返回Accept-Range:byte,如果不支援,則返回,Accept-Range:none
Content-Range:指定返回web資源的位元組範圍,這個欄位的格式:
Content-Range:1000-3000
相關文章
- 常見Http首部欄位HTTP
- HTTP首部欄位詳解HTTP
- 05 前端HTTP協議(圖解HTTP) 之 HTTP首部前端HTTP協議圖解
- 簡述 HTTP 快取首部及其行為HTTP快取
- 有關 HTTP 快取的首部欄位說一下HTTP快取
- 通用首部欄位詳解-四大首部欄位之一
- IP協議&&IP首部協議
- 請求首部欄位詳解-四大首部欄位之一
- BGP訊息型別和分組公有首部-VeCloud型別Cloud
- 深圳將出全國首部人工智慧領域地方法規人工智慧
- http://192.168.1.1/ http://3232235777/HTTP
- HTTP、HTTP1.1、HTTP/2的區別HTTP
- HTTP協議之:HTTP/1.1和HTTP/2HTTP協議
- 綠盟科技首部安全服務題材微電影震撼來襲
- http,https, http2.0HTTP
- 生態化轉型風口 首部ICT人才生態白皮書釋出
- [計算機網路]HTTP 1.0/HTTP 1.1/HTTP 2.0計算機網路HTTP
- HTTP1.1、HTTP2、HTTP3 演變HTTP
- http http headers參考文件HTTPHeader
- 03 前端HTTP協議(圖解HTTP) 之 HTTP報文內的HTTP資訊前端HTTP協議圖解
- HTTP協議圖文簡述--HTTP/HTTPS/HTTP2HTTP協議
- HTTPHTTP
- 計算機網路王道考研-TCP的特點和TCP首部格式總結計算機網路TCP
- 淺聊HTTP快取 (HTTP Cache)HTTP快取
- http1.1與http2.0HTTP
- http2與http1HTTP
- HTTP----HTTP快取機制HTTP快取
- 04 前端HTTP協議(圖解HTTP) 之 HTTP狀態碼前端HTTP協議圖解
- 一文讀懂 HTTP/1HTTP/2HTTP/3HTTP
- HTTP1.0,HTTP1.1,HTTPS和HTTP2.0的區別HTTP
- HTTP發展史,HTTP1.1與HTTP2.0的區別HTTP
- HTTP協議-HTTP響應報文HTTP協議
- 騰訊首部帕金森病紀錄片,講述醫學AI背後的故事AI
- 清洗api資料指令碼/去掉字元首部為0,用於行業對映API指令碼字元行業
- 傳輸層和網路層的checksum區別,TCP cksum為何包含偽首部TCP
- 02 前端HTTP協議(圖解HTTP) 之 簡單的HTTP協議前端HTTP協議圖解
- HTTP原理HTTP
- 理解 HTTPHTTP