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,這樣伺服器就知道是...