Http協議中常用字段總結 不定時完善中

2021-08-07 13:36:45 字數 1543 閱讀 2699

1.http協議概述

關於http協議的發展,各種資料有很多,在此不再贅述,不明白的小夥伴兒可以去搜一下,http報文分為請求報文和相應報文,由於http是面向文字的,因此在報文中的每乙個欄位都是一些ascii碼,下圖是摘自謝希仁第五版《計算機網路》的,本文按照這兩種分類對報文頭的字段進行一下彙總說明。

資料都是從給位大神那裡獲取到的,我只是負責彙總而已~

2.http請求報文

如上圖(a)中為請求報文格式,分為請求行、首部行和實體主體(本文對實體主體不做說明,下同);

2.1 請求行

請求行包括方法、url和版本,下面分別其進行說明。

方法:http協議的請求方法有get、post、head、put、delete、options、trace、connect,最常用的方法是get和post;

版本:協議名稱及版本號,例如:http/1.1

2.2 首部行

accept:客戶端期待接收的檔案型別

accept-encoding:客戶端可以接收的編碼格式。它是為了壓縮並提高檔案傳遞速度,客戶端在接收到web相應之後銜接嗎,然後檢查檔案格式

accept-languages:客戶端期望接收到的語言種類

cache-control:

connection:用來通知伺服器是否可以保持固定的http連線,包括upgrade,keep-alive和close。http/1.1使用keep-alive為預設值,保證了瀏覽器需要多個檔案時,不需要每次都建立連線。使用close之後,伺服器會斷開與客戶端的連線。

host:請求的目標主機

user-agent:user-agent是http協議中的一部分,屬於頭域的組成部分,user agent也簡稱ua。用較為普通的一點來說,是一種向訪問**提供你所使用的瀏覽器型別、作業系統及版本、cpu 型別、瀏覽器渲染引擎、瀏覽器語言、瀏覽器外掛程式等資訊的標識。具體內容請參考:

if-modified-since:

3.http響應報文

4.cookie工作原理

cookie是這樣工作的:

當使用者瀏覽某個使用cookie的**時,該**的伺服器就為使用者產生乙個唯一的識別碼,並以此作為索引在伺服器的後端資料庫中產生乙個專案。並在給使用者的http相應報文中新增乙個叫做set-cookie的首部行,這裡的「首部欄位名稱」就是「set-cookie」,對應的字段值就是伺服器賦予該使用者的「識別碼」。其格式如下:

set-cookie:abcdefg(只作為示例,實際肯定比這個複雜)

當使用者收到這個響應式,其瀏覽器就在他管理的特定cookie檔案中新增一行,其中包括這個伺服器的主機名(即host欄位)和set-cookie對應的這個**的識別碼,並放到http請求報文的cookie首部行中,如下:

cookie:abcdefg

以上就是整個cookie的流程,**可以根據cookie值跟蹤使用者在該**的活動,假設該**為乙個購物**,那麼伺服器就可以為該使用者通過cookie維持一張購物列表,使使用者在結束這次購物時可以一起付費。

Http協議中常用字段總結 不定時完善中

1.http協議概述 關於http協議的發展,各種資料有很多,在此不再贅述,不明白的小夥伴兒可以去搜一下,http報文分為請求報文和相應報文,由於http是面向文字的,因此在報文中的每乙個欄位都是一些ascii碼,下圖是摘自謝希仁第五版 計算機網路 的,本文按照這兩種分類對報文頭的字段進行一下彙總說...

HTTP協議常用字段

uri 統一資源識別符號,不僅可以標識http,ftp等其他的網路資源 url 統一資源定位符 get 獲取乙個資源,同時引數直接跟在url後面,url長度受限制2048位元組 post 不僅可以獲取資源,還可以提交資源 譬如上傳檔案 引數放在請求體中,包大小4g head 只要響應頭,沒有響應體,...

mysql 常用字段型別 mysql 常用字段型別

tinyint m unsigned zerofill 1位元組 極小整數,資料型別用於儲存一些範圍的整數數值範圍 有符號 128 127.無符號 255 特別的 mysql中無布林值,使用tinyint 1 構造。smallint 2位元組 小整數有符號 32768 無符號 65535 mediu...