超文本傳輸協議,構建與TCP/IP協議之上,默認埠號為80,處于網路體系結構的最頂層應用層上,Http協議采用的是請求/回應的作業方式,Http是無連接無狀態的,
Q1:怎么理解Http是無連接無狀態的
無連接是指限制每次連接只處理一個請求,服務器處理完客戶的請求,并收到客戶的應答后,即斷開連接,采用這種方式可以節省傳輸時間,
無狀態是指協議對于事務處理沒有記憶能力,服務器不知道客戶端是什么狀態,即我們給服務器發送 HTTP 請求之后,服務器根據請求,會給我們發送資料過來,但是,發送完,不會記錄任何資訊,這就表明每個請求都是獨立的,
Http的這兩個特性的優缺點:
優點在于解放了服務器,每一次請求“點到為止”不會造成不必要連接占用,
缺點在于每次請求會傳輸大量重復的內容資訊,
Cookie和Session是用來保持Http連接的兩種技術,
Http報文
Http在應用層通過報文的方式來交換資料,分為請求報文和回應報文
請求報文
Http的請求報文由請求行,請求頭,請求體組成
請求行:宣告了請求方法,主機域名,資源路徑和協議版本
請求頭:包括一些訪問的域名、用戶代理、Cookie等資訊
請求體:Http請求的資料
請求方法
Get:從服務器讀取資料
Post:為服務器添加資訊
Put:為指定的URL下添加一個檔案
Delete:洗掉指定URL所標志的資訊
Q2:Http的Get和Post請求方式有什么區別
Get可提交的資料量收到URL長度的限制,URL的長度最多是2048個字符,Post請求是沒有長度的限制的,
Get請求的資料型別只允許Ascll字符,Post可以是任何型別
Get請求的安全性較差,因為資料引數是直接拼接在URL后面的,可見,Post資料封裝在Http的請求體中,瀏覽器中沒有快取,
Get請求適用于資料量較小,并且資料不敏感的情況,Post正好相反
請求體有三種使用方式:
資料交換:請求體可以任意型別,比如json串,不過服務器需要決議
鍵值對:Get請求資料每個鍵值對通過&拼接在URL后面,鍵與值之間用=連接
分部分形式:
Http處在應用層,Https處在傳輸層
Http明文傳輸,Https通過ssl加密和身份認證
Http默認80埠,Https默認443埠
回應報文
包括狀態行,回應頭和回應體
狀態行:包括協議版本Version、狀態碼Status Code、狀態碼描述
回應頭:包括搭建服務器的軟體,發送回應的時間,回應資料的格式等資訊
回應體:回應的具體資料
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/297110.html
標籤:其他
