摘要
本文主要內容介紹什麼是http協議
了解http協議之前我們先了解一下當我們輸入乙個url到頁面渲染出來,這個過程發什麼了什麼呢~
網路開啟執行緒開始解析url
dns解析網域名稱,查詢ip
建立tcp/ip鏈結
然後傳送請求
什麼是http協議:
http即超文字傳輸協議,作為網路協議中的應用層的協議,它是一種文明的協議,傳輸過程中傳輸內容對外是可見的。
http的特點:
http協議是基於tcp/ip通訊以協議來傳遞資料的,資料型別可以是json、表單、html、等等
http預設埠號為80
http是協議是無狀態的,每一次的請求與響應彼此沒有任何關係(這也是為什麼產生session、cookie、token的原因)
http請求組成部分
請求行請求行有請求方法、url欄位、http協議版本號三部分組成
http請求方式:post get put delete options等等
在這裡需要了解到,http請求也分為簡單請求跟複雜請求
那麼乙個http請求如何滿足是簡單請求:
1http請求型別為:head、get、post
2http頭包含:accept、accept-language、content-language、last-event-id、content-type
複雜請求:
如果不滿足簡單請求的條件便是複雜請求,乙個複雜請求的通訊,不僅包含通訊內容的請求,而且還包含乙個預請求。
簡單請求與複雜請求對比:
簡單請求
複雜請求
其中預請求的請求型別為options
請求頭用來向客戶端解釋請求資訊
請求報頭常見屬性(這裡重點解釋常用的):
accept-charest:可接收的字符集(utf-8等)
accept-encoding:可接受的相應內容的編碼方式(gzip、deflate等)
accept-language:可接受的響應內容語言列表(en-us、zh-cn等)
authorization:http認證資訊(oauth認證)
cache-control:快取機制控制(on-cache、on-store、max-age、public、private)
user-agent:瀏覽器的身份標識字串
origin:發起乙個針對跨域資源共享的請求
if-modified-since:上一次響應的last-modified的值回當做if-modified-since的值傳送給伺服器
if-none-match:上一次響應的etag的值會當做if-none-match的值傳送給伺服器
referer:表示跳轉到當期那頁面的之前頁面
訊息主題:前台向後台傳送的資料
http響應
我們用抓包工具抓取乙個響應如圖
響應行響應行由http協議版本號、狀態碼,以及狀態描述三部分組成(例如途中:http/1.1 200 ok)
響應頭組成部分
cache-control:no-store no-cache max-age等等
date:響應時間
expires:新鮮度,通知瀏覽器過期前可以使用副本
content-length:響應內容大小
content-type:響應型別
etag:校驗值,校驗從伺服器端獲取內容是否發生改變
響應正文:伺服器傳送給客戶端的內容
HTTP協議組成
由http協議的概念可知,它分為問和答兩部分。其中問指的就是請求部分,而答指的就是響應部分。請求行 永遠位於請求的第一行 請求訊息頭 從第二行開始,到第乙個空行結束 請求的正文 從第乙個空行後開始,到正文的結束 響應行 永遠位於響應的第一行 響應訊息頭 從第二行開始,到第乙個空行結束 響應的正文 從...
Http協議的組成
1 http是什麼 http是超文字傳輸協議,是網際網路上應用最為廣泛的一種網路協議。2 http協議的組成 http協議是由http請求和響應組成。當在瀏覽器中輸入 訪問某個 時,瀏覽器會將你的請求封裝乘乙個http請求傳送給伺服器點,伺服器接收到請求後會組織響應資料封裝成乙個http響應返回給瀏...
7 HTTP協議的組成
協議的組成 請求部分 請求行 請求訊息頭 請求正文 請求行 位於請求資訊的第一行 請求方式 請求的資源路徑 使用的協議 請求方式 常用的請求方式 get和post get 預設的請求方式 特點 請求引數會出現在位址列上,不安全 長度限制 1kb post 建議 利用from 表單。請求引數會出現在正...