http協議的關鍵知識點

2021-09-22 21:14:49 字數 2954 閱讀 8334

http協議

1、概念:

http(超文字傳輸協議)是乙個基於請求與響應模式的、無狀態的、應用層的協議,常基於tcp的連線方式
2、http的組成
請求行,訊息報頭, 請求正文
3、http方法
get: 用於請求訪問已經被uri(統一資源識別符號)識別的資源,可以通過url傳參給伺服器。

put: 傳輸檔案,報文主體中包含檔案內容,儲存到對應uri位置。

head: 獲得報文首部,與get方法類似,只是不返回報文主體,一般用於驗證uri是否有效。

delete:刪除檔案,與put方法相反,刪除對應uri位置的檔案。

options:查詢相應uri支援的http方法。

4、get和post方法
1)、get重點在從伺服器上獲取資源,post重點在向伺服器傳送資料;

2)、get傳輸資料是通過url請求,以field(字段)= value的形式,置於url後,並用"?"連線,

多個請求資料間用"&"連線,如

這個過程使用者是可見的;

post傳輸資料通過http的post機制,將字段與對應值封存在請求實體中傳送給伺服器,這個過程對

使用者是不可見的;

3)、get傳輸的資料量小,因為受url長度限制,但效率較高;

post可以傳輸大量資料,所以上傳檔案時只能用post方式;

4)、get是不安全的,因為url是可見的,可能會洩露私密資訊,如密碼等;

post較get安全性較高;

5)、get方式只能支援ascii字元,向伺服器傳的中文字元可能會亂碼。

post支援標準字符集,可以正確傳遞中文字元。

5、請求和響應

請求報文

請求行:包含請求方法、uri、http版本資訊

請求首部字段

請求內容實體

響應報文

狀態行:包含http版本、狀態碼、狀態碼的原因短語

響應首部字段

響應內容實體

6、http狀態碼

1xx:指示資訊–表示請求已接收,繼續處理

2xx:成功–表示請求已被成功接收、理解、接受

3xx:重定向–要完成請求必須進行更進一步的操作

4xx:客戶端錯誤–請求有語法錯誤或請求無法實現

5xx:伺服器端錯誤–伺服器未能實現合法的請求

2xx

200:請求被正常處理

204:請求被受理但沒有資源可以返回

206:客戶端只是請求資源的一部分,伺服器只對請求的部分資源執行get方法,相應報文中通過

content-rang指定範圍的資源。

3xx

301:永久性重定向

302:臨時重定向

303:與302狀態碼有相似功能,只是它希望客戶端在請求乙個uri的時候,

能通過get方法重定向到另乙個uri上

304:傳送附帶條件的請求時,條件不滿足時返回,與重定向無關

307:臨時重定向,與302類似,只是強制要求使用post方法

4xx

400:請求報文語法有誤,伺服器無法識別

401:請求需要認證

403:請求的對應資源禁止被訪問

404:伺服器無法找到對應資源

5xx

500:伺服器內部錯誤

503:伺服器正忙

7、http1.1
1)、預設持久連線節省通訊量,只要客戶端服務端任意一端沒有明確提出斷開tcp連線,就一直保持連線,

可以傳送多次http請求

2)、管線化,客戶端可以同時發出多個http請求,而不用乙個個等待響應

3)、斷點續傳原理:分塊傳輸,加快傳輸速度

8、http首部字段

1)、通用首部字段

date:建立報文時間

connection:連線的管理

cache-control:快取的控制

transfer-encoding:報文主體的傳輸編碼方式

2)、請求首部字段
host:請求資源所在伺服器

accept:可處理的**型別

accept-charset:可接收的字符集

accept-encoding:可接受的內容編碼

accept-language:可接受的自然語言

3)、響應首部字段
accept-ranges:可接受的位元組範圍

location:令客戶端重新定向到的uri

server:http伺服器的安裝資訊

4)、實體首部字段
allow:資源可支援的http方法

content-type:實體主類的型別

content-encoding:實體主體適用的編碼方式

content-language:實體主體的自然語言

content-length:實體主體的的位元組數

content-range:實體主體的位置範圍,一般用於發出部分請求時使用

9、http的缺點與https
http缺點:通訊使用明文不加密,內容可能被竊聽

不驗證通訊方身份,可能遭到偽裝

無法驗證報文完整性,可能被篡改

https:https就是在http加上加密處理(ssl安全通訊線路),認證,完整性保護

10、http優化
利用負載均衡優化和加速http應用

利用http cache來優化**

Http協議知識點

1.型別 http伺服器會給在http中傳送的http資源物件附加乙個mime型別,接收http資源物件的客戶端會根據這個型別來判斷是否能夠進行處理,例如瀏覽器就能夠處理上百種mime型別的http資源物件 2.mime型別是一種文字標記,表示一種主要物件型別和一種特定的子型別,中間用一條斜槓來分隔...

HTTP協議相關知識點

1.http協議 hypertext transfer protocol,超文字傳輸協議 是網際網路上應用最為廣泛的一種網路傳輸協議,所有的www檔案都必須遵守這個標準。2.從1990年開始就在www上廣泛應用,是現今在www上應用最多的協議,目前版本為1.1。3.http基於tcp ip通訊協議來...

Http協議知識點整合

常見的http method http1.0定義了三種 http1.1定義了六種 常見http狀態碼解析 瀏覽器向伺服器請求時,服務端響應的訊息頭裡面有狀態碼,表示請求結果的狀態。分類1xx 收到請求,需要請求者繼續執行操作,比較少用 2xx 請求成功,常用的 200 3xx 重定向,瀏覽器在拿到伺...