有關Http的介紹

2021-08-21 13:15:22 字數 2068 閱讀 7201

http使用一種基於訊息的模型。該協議基本不需要連線,雖然它使用有狀態的tcp協議作為它的傳輸機制,但每次請求和響應都自動完成,並可能使用不同的tcp連線。

例子:get http/1.1

user-agent: mozilla/5.0 (windows nt 6.1; win64; x64; rv:60.0) gecko/20100101 firefox/60.0

accept: */*

accept-language: zh-cn,zh;q=0.8,zh-tw;q=0.7,zh-hk;q=0.5,en-us;q=0.3,en;q=0.2

referer:

cookie: uid=38oghfssb2k7y4iqsusiag==

connection: keep-alive

host: e.firefoxchina.cn

每個http請求的第一行都由三個以空格間隔的專案組成。

乙個說明http請求的方法的動詞      所請求的url      使用的http版本

例子:每個響應的第一行由三個以空格間隔的專案組成:

使用的http版本      表示請求結果的數字碼     一段文字表示的「原因短語」

最常用的的兩個方法:

get:用於獲取資源。它可以用url查詢字串的形式向所請求的資源傳送引數。

post:主要作用是執行操作。

其他方法:

head:功能與get相似,不同在於伺服器不會在其相應中返回訊息主體,訊息頭與對應的get請求相同。用於檢查某一資源在get請求前是否存在。

trace:用於診斷。伺服器在返回主體中包含其請求主體中的內容。用於檢測client和server之間是否存在**。

options:要求伺服器報告對某一特殊資源的請求方法。伺服器在響應中在allow欄位中列出。

put:這個方法試圖使用請求主體中的內容向伺服器上傳資源。

統一資源定位符,是web資源的唯一識別符號,通過它可以獲取指定資源。標準格式:

protocol://hostname[:port]/[path/]file[?param=value]

表述性狀態轉移(rest)是分布式系統的一種系統架構,在這類系統架構中,請求和響應包含系統資源當前狀態的描述。

rest風格的url指:在url檔案路徑而不是查詢字串中。例如:包含查詢字串的url:

與下面這個rest風格的url相對應:

伺服器使用cookie機制向客戶端傳送資料,客戶端儲存cookie並將其返回給伺服器。伺服器使用set-cookie響應訊息頭發布cookie;客戶端自動將下面的訊息加到隨後返回給同乙個伺服器的請求中。cookie一般由乙個名-值對構成,但也可以包括任何不叫空格的字串。

set-cookie還可以包括以下屬性,用它們控制瀏覽器處理cookie的形式。

分為以下5類:

1xx:提供資訊

2xx:請求被成功提交

3xx:客戶端被重定向到其他資源

4xx:請求包含某種錯誤

5xx:伺服器執行請求時遇到錯誤

http有自己的使用者身份驗證方案:

basic:它在請求訊息頭中隨每條訊息以base64編碼字串的形式傳送使用者證書。

ntml:一種挑戰-相應機制

digest:一種挑戰-相應機制。同使用者證書一起使用乙個md5校驗和。

有關HTTP的粗讀

去年粗讀 http權威指南 和 http 還有部分 tcp ip詳解 後,覺得心裡明亮不少,web的大門又向我敞開了一些?如今回想起來說到粗讀,對我的形容還是很準確的,因為到現在,我基本忘了看到了什麼,學到了什麼。但是又覺得,我明明都看了呀。所以我也只能從乙個普通程式設計師的角度來敘述,在我的前端開...

有關lrecycleview的介紹

簡介 lrecyclerview是支援addheaderview addfooterview 下拉重新整理 分頁載入資料的recyclerview。新增功能 swipemenu系列功能,包括item側滑選單 長按拖拽item,滑動刪除item等。它對 recyclerview 控制項進行了拓展,給r...

有關位元組對齊的介紹

什麼是對齊,以及為什麼要對齊 現代計算機中記憶體空間都是按照byte劃分的,從理論上講似乎對任何型別的變數的訪問可以從任何位址開始,但實際情況是在訪問特定變數的時候經常在特定的記憶體位址訪問,這就需要各型別資料按照一定的規則在空間上排列,而不是順序的乙個接乙個的排放,這就是對齊。對齊的作用和原因 各...