2018-12-03

HTTP協議

1.什么是HTTP協議

  • 是一個基于請求和響應的應用層協議, 底層協議是TCP, 保證了數據的可靠傳輸。
  • 通過url進行客戶端與服務器之間數據的交互。
  • 是一種C/S(B/S)模式的協議(B/S是瀏覽器/服務端模式是一種特殊的C/S), C/S客戶端/服務端:客戶端發(fā)送請求, 服務器接收并響應請求。
  • 是無狀態(tài)的協議(不記錄用戶的訪問狀態(tài), 可以通過cookie會話技術告訴服務器用戶狀態(tài))。

2.HTTP協議的流程

  • 創(chuàng)建一個TCP鏈接(目的是確??蛻舳撕头掌髦g有一個可靠的數據通路)
    三次握手:客戶端向服務器發(fā)起一個信號以確認服務器是否空閑(或是否同意創(chuàng)建鏈接), 服務器返回給客戶端是否哦可以創(chuàng)建連接的信號, 客戶端在發(fā)起一個信號進而創(chuàng)建鏈接。
  • 客戶端向服務器發(fā)起HTTP請求, 通過請求頭, 請求體把相關數據傳遞給服務器。
    常見的請求方式有:get、post、 put、delete、put
    請求頭:包含了本次請求的配置信息(數據格式, cookie, 用戶代理等)
    請求體:即參數, 就是客戶端要提交給服務器的內容
    get請求和post請求的區(qū)別:
    形式上:get請求的參數拼接在url后米娜, post不體現在url上
    內容上:get請求提交的數據量有限制(不同瀏覽器對url最大限制不同)post請求對數據提交量沒有限制。
  • 服務器處理請求, 響應請求
  • 關閉鏈接:每一次http請求與響應結束之后就會把本次創(chuàng)建的TCP鏈接關閉(短鏈接)
    HTTP協議在1.1版本以后加入了長連接, HTTP請求結束以后, TCP鏈接不會立即關閉, 經過一段時間以后, 如果這個鏈接不再發(fā)生http請求, 再關掉
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容