http請求的概念

2022-01-22 19:20:07 字數 2237 閱讀 2041

我曾多次閱讀http協議,但是理解依然不深,在此,再次閱讀,再次理解。加深兩點:解析頭部資訊\r\n,分解頭部和主體用\r\n\r\n。之所以一次請求會看到網路裡有很多請求,是因為瀏覽器代替訪問了多次!程式只管處理一次即可!

步驟1:瀏覽器首先向伺服器傳送http請求,請求包括:

方法:get還是post,get僅請求資源,post會附帶使用者資料;

路徑:/html/path;

網域名稱:由host頭指定:host: www.sina.com.cn

以及其他相關的header;

如果是post,那麼請求還包括乙個body,包含使用者資料。

步驟2:伺服器向瀏覽器返回http響應,響應包括:

響應**:200表示成功,3xx表示重定向,4xx表示客戶端傳送的請求有錯誤,5xx表示伺服器端處理時發生了錯誤;

(響應**詳細說明:請求響應的狀態碼

1xx:資訊類,表示收到web瀏覽器請求,正在進一步的處理中

2xx:成功,表示使用者請求被正確接收,理解和處理。如200 ok

3xx:重定向,表示請求沒有成功,客戶必須採取進一步的操作

4xx:客戶端錯誤,表示客戶端提交的請求有錯誤,例如,404 not found,意味著請求中所引用的文件不存在

5xx:伺服器錯誤,表示伺服器不能完成對請求的處理,如500

下表顯示每個響應碼及其含義:

100 繼續101 分組交換協

200 ok  201 被建立 202 被採納 203 非授權資訊 204 無內容 205 重置內容 206 部分內容

300 多選項 301 永久地傳送  302 找到3 03 參見其他 304 未改動 305 使用** 307 暫時重定向

400 錯誤請求 401 未授權 402 要求付費 403 禁止 404 未找到 405 不允許的方法 406 不被採納 407 要求**授權 408 請求超時 409  衝突 410 過期的 411 要求的長度 412 前提不成立 413 請求例項太大 414 請求uri太大 415 不支援的**型別416 無法滿足的請求範圍 417 失敗的預期

500 內部伺服器錯誤501 未被使用502 閘道器錯誤503 不可用的服務504 閘道器超時505 http版本未被支援

響應型別:由content-type指定;

以及其他相關的header;

通常伺服器的http響應會攜帶內容,也就是有乙個body,包含響應的內容,網頁的html原始碼就在body中。

每個http請求和響應都遵循相同的格式,乙個http包含header和body兩部分,其中body是可選的。

http協議是一種文字協議,所以,它的格式也非常簡單。http get請求的格式:

header2: value2每個header一行乙個,換行符是\r\n

http post請求的格式:

body data goes here...當遇到連續兩個\r\n時,header部分結束,後面的資料全部是body。

http響應的格式:

200 ok

header1: value1

header2: value2

body data goes here...

http響應如果包含body,也是通過\r\n\r\n來分隔的。請再次注意,body的資料型別由content-type頭來確定,如果是網頁,body就是文字,如果是,body就是的二進位制資料。

當存在content-encoding時,body資料是被壓縮的,最常見的壓縮方式是gzip,所以,看到content-encoding: gzip時,需要將body資料先解壓縮,才能得到真正的資料。壓縮的目的在於減少body的大小,加快網路傳輸。

get 請求與post請求的區別

1.get

一般用於資訊獲取;使用url傳遞引數;對所傳送的資訊的數量也有限制,一般在2000個字元

2.post

一般用於修改伺服器上的資源;對所傳送的資訊的數量沒有限制

ajax--http知識點鏈結

HTTP請求 冪等 安全概念

一 安全 最近學習到網路的時候,對於http請求也有進一步的提公升。此處先用一張圖來解釋下。這裡的安全,我們可以看到get請求是安全的,而post請求是不安全的,這裡可能會有人問了?為什麼?因為這裡的安全其實是分概念來講的,就好比我get請求如果去做登入操作是直接拼接引數到url中的,這當然就是不安...

HTTP請求 HTTP方法

http 1.1中可使用的方法 get 獲取資源 獲取伺服器的某個資源 get方法用來請求訪問已經被uri識別的資源。制定的資源經伺服器端解析後返回響應內容。也就是說,如果請求的資源是文字,那就保持原樣返回 如果是像cgi common gateway inte ce,通用閘道器介面 那樣的程式,就...

http 請求 聊聊HTTP請求及響應

http是超文字傳輸協議 英文 hypertexttransferprotocol,縮寫 http 是一種用於分布式 協作式和超 資訊系統的應用層協議。http是全球資訊網的資料通訊的基礎 包含三大部分 1.1請求行 位於請求訊息的第一行 格式 請求方式 資源路徑 http版本號 常用請求方式 ge...