HTTP協議知識總結

2021-09-25 05:47:23 字數 1763 閱讀 8903

http協議指的是超文字傳輸協議,其建立在運輸層tcp協議的基礎上,利用網際網路來進行傳輸超文字的乙個應用層協議。

http與https均屬於應用層協議,其中https協議經過了tls和ssl加密,他們的不同點是:

1. https協議傳送的內容是經過加密後的內容,而http傳送的是明文

2. https使用的是443埠,http協議使用的是80埠

3. https需要證書認證,成本高,相對困難,但是安全性高

1. 簡單快速

2. 靈活,允許傳輸任意型別的資料物件

3. 無連線,請求響應後立刻斷開連線

4. 無狀態,協議對於事務處理沒有記憶性,如果後續處理需要前邊的資訊需要進行重傳

http協議永遠是客戶端發起請求,然後服務端予以相應,及請求-響應模式

請求響應步驟:

1. 客戶端連線到web伺服器,建立乙個tcp連線

2. 發起http請求,客戶端通過tcp向服務端傳送乙個請求報文

3. 伺服器接收請求並返回響應報文

4. 釋放tcp連線

5. 客戶端解析響應

請求報文方法:get   post   head   put   delete

get與post的區別:

最主要的區別是,get請求的引數是放置在url中,而post請求引數放在請求體中。因而導致下列區別:

1. get請求在瀏覽器後退是沒有關係的,post會再次發出請求

2. get產生的url可以被收藏,而post的不可以

3. get請求的引數會出現在歷史紀錄中,post不會

4. post安全性更高

5. url有長度限制,因此get請求引數有長度限制,而post沒有

6. get請求只能進行url編碼,post支援多種編碼方式

7. 對引數的型別,get僅支援ascii字元,post沒有限制

8. get請求會被瀏覽器主動快取,post不會

1xx: 表示請求成功接收,等待後續處理

2xx: 成功

3xx: 重定向相關

4xx: 客戶端錯誤

5xx: 服務端錯誤

具體狀態碼:

200:請求成功

301:所請求頁面已經轉移到新的url上

302:所請求頁面已經臨時轉移到新的url上

403:拒絕提供服務

404:訪問資源不存在

500:伺服器發生不可預期的錯誤

503:臨時過載或宕機,一段時間後可能恢復正常

快取分為強快取和協商快取,強快取指的是強制使用客戶端的快取,只有當客戶端的快取過期後,才向伺服器請求新資料

協商快取指的是每一次使用快取時,都向伺服器詢問是否使用客戶端快取

cookie是儲存的key-value字對,它是由伺服器將cookie新增到response裡並一起返回給客戶端,然後客戶端會自動把response裡的cookie接收下來,並且儲存到本地,下一次發起請求的時候,就會把cookie附加到request裡,伺服器再根據request裡的cookie遍歷搜尋是否有符合的資訊

在web開發中,伺服器會為每乙個使用者瀏覽器建立乙個會話物件,在需要儲存使用者資料的時候,伺服器程式可以把使用者資料寫入到session中

區別:1. session儲存在伺服器中,cookie儲存在客戶端中

2. session中可以放置物件,如檔案等,而cookie之恩呢儲存字串

3. session的實現需要結束cookie,session-id儲存在cookie中返回,如果客戶端完全禁止cookie,則session也會完全失效

參考部落格:

HTTP協議總結

http協議是一種物件導向的協議,其簡單,快捷,方便,實用與分布式資訊網路管理系統 http協議的特點有 1.支援 c s和b s 支援客戶 伺服器模式 2.簡單快捷 向服務端請求時只需傳遞請求的方式 post,get,head,delete等 3.靈活 在傳遞時只需要在content type中定...

HTTP協議總結

http是應用層協議,由http客戶端發起乙個請求,建立乙個到伺服器指定埠的tcp連線。http 伺服器則在埠監聽客戶端的請求,一旦受到請求就會向客戶端返回乙個狀態 200,500等 以及返回內容。注 http是乙個無狀態的協議,通過伺服器認證後成功請求了乙個資源後再次請求這一資源時,伺服器仍舊會要...

http協議總結

http 全稱 超文字傳輸協議 它是乙個應用層的協議,使用埠號80,關鍵要知道它是乙個無狀態的協議。無狀態就是後續處理訊息,沒有前面的訊息。1 cookie 2 session cookie 由伺服器產生,瀏覽器收到請求後,儲存在本地 瀏覽器下次請求伺服器時,就是帶上cookie,這樣伺服器就知道是...