一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

電腦之家 - 專業計算機基礎知識與電腦技術學習網站
分類導航

路由器|交換機|網絡協議|網絡知識|

服務器之家 - 電腦之家 - 網絡技術 - 一篇帶給你HTTP協議詳解

一篇帶給你HTTP協議詳解

2021-04-15 01:21牧小農 網絡技術

HTTP協議是Hyper Text Transfer Protocol(超文本傳輸協議)的縮寫,是用于從萬維網(WWW:World Wide Web )服務器傳輸超文本到本地瀏覽器的傳送協議,所有的WWW文件都必須遵守這個標準

一篇帶給你HTTP協議詳解

一、HTTP協議簡介

 

  • HTTP協議是Hyper Text Transfer Protocol(超文本傳輸協議)的縮寫,是用于從萬維網(WWW:World Wide Web )服務器傳輸超文本到本地瀏覽器的傳送協議,所有的WWW文件都必須遵守這個標準
  • HTTP是一個基于TCP/IP通信協議來傳遞數據(HTML 文件, 圖片文件, 查詢結果等
  • HTTP是一個屬于應用層的面向對象的協議,由于其簡捷、快速的方式,適用于分布式超媒體信息系統。由請求和響應構成,是一個標準的客戶端服務器模型。HTTP是一個無狀態協議
  • HTTP協議工作于客戶端-服務端架構為上。瀏覽器作為HTTP客戶端通過URL向HTTP服務端即WEB服務器發送所有請求。Web服務器根據接收到的請求后,向客戶端發送響應信息

一篇帶給你HTTP協議詳解

二、HTTP主要特點

 

  • 支持客戶端和服務端模式: HTTP工作于客戶端服務端的架構之上,瀏覽器作為客戶端通過url向服務器及web服務器發送請求,web服務器根據接收到的請求向客戶端發送響應信息
  • 簡單快速: 客戶端向服務器請求時,只需傳送請求方法和路徑,請求方法有post、get等,每種方法規定了客戶端與服務端,連接的類型不同。由于HTTP協議簡單,使得HTTP服務程序規模小而且通信速度很快
  • 靈活: HTTP允許傳輸任意類型的數據對象
  • 無連接: 無連接的含義是限制每次連接只處理一個請求。服務器處理完客戶的請求,并收到客戶的應答后,即斷開連接。采用這種方式可以節省傳輸時間
  • 無狀態: 無狀態是指協議對事務處理沒有記憶能力,意味著如果后續處理需要前面的信息,則必須被重傳,這可能導致每次連接的數據量增大,另一方面不需要前面信息時,它的應答就較快

三、HTTP請求結構

 

HTTP請求報文由3部分組成(請求行+請求頭部+請求正文)

HTTP請求結構:

一篇帶給你HTTP協議詳解

3.1 請求行

請求行: 是由 請求字段、URL字段、HTTP協議版本字段 三個字段組成,他們用空格分隔,例如:GET/material/index HTTP/1.1\r\n根據HTTP標準,HTTP請求可以使用多種請求方法

HTTP1.0定義了三種請求方法:GET,POST,HEAD方法。HTTP1.1新增了五種請求方法:OPTIONS,PUT,DELETE,TRACE,CONNECT方法

一篇帶給你HTTP協議詳解

3.2 請求頭部

請求頭部: HTTP客戶程序(例如瀏覽器),向服務器發送請求的時候必須指明請求類型(一般是GET或者 POST),如有必要,客戶程序還可以選擇發送其他的請求頭。大多數請求頭并不是必需的,但Content-Length除外,對于POST請求來說 Content-Length必須出現

請求報頭通知服務器關于客戶端求求的信息,典型的請求頭有:

一篇帶給你HTTP協議詳解

3.3 空行

他的作用是告訴服務器 請求頭部信息到此為止

3.4 請求正文

  1. 若方法是 GET,則該項為空。(數據都在url 地址欄里面)
  2. 若方法是 post 字段,則通常放置的是要 提交的數據

案例:

一篇帶給你HTTP協議詳解

四、HTTP響應結構

 

HTTP響應結構:

一篇帶給你HTTP協議詳解

HTTP的響應報文是由( 狀態行、響應頭部、響應正文) 三部分組成

4.1 響應行

響應行: 描述了響應的狀態,一般由協議版本、狀態碼及其描述組成 比如 HTTP/1.1200OK\r\n,其中協議版本HTTP/1.1或者HTTP/1.0,200就是它的狀態碼,OK則為它的描述。

五種可能的取值:

一篇帶給你HTTP協議詳解

常見狀態碼:

一篇帶給你HTTP協議詳解

4.2 響應頭部

響應頭部: 用于描述服務器的基本信息,以及數據的描述,服務器通過這些數據的描述信息,可以通知客戶端如何處理等一會兒它回送的數據。

一篇帶給你HTTP協議詳解

4.3 響應體

響應體就是響應的消息體,它包含了響應的內容。它可以包含HTML代碼,圖片,等等。主體是由傳輸在HTTP消息中緊跟在頭部后面的數據字節組成的。

案例:

一篇帶給你HTTP協議詳解

五、瀏覽器輸入URL,回車之后請求流程

 

1. DNS解析:當我們瀏覽器會首先搜索瀏覽器自身的DNS緩存,也就是我們的hosts文件中去查找,如果瀏覽器自身緩存找不到則會查看系統的DNS緩存,如果找到且沒有過期則停止搜索解析到此結束,而如果本機沒有找到DNS緩存,則瀏覽器會發起一個DNS的系統調用,就會向本地配置的首選DNS服務器發起域名解析請求,最終會找到我們域名對應的IP地址。

2. TCP解析:拿到域名對應的IP地址之后,User-Agent(一般是指瀏覽器)會以一個隨機端口(1024< 端口 < 65535)向服務器的WEB程序(常用的有httpd,nginx等)80端口發起TCP的連接請求。這個連接請求到達服務器端后,進入到網卡,然后是進入到內核的TCP/IP協議棧,最終到達WEB程序,最終建立了TCP/IP的連接

3. 發送HTTP請求: 建立了TCP連接之后,發起一個http請求

4. 服務器處理請求并返回HTTP報文: 服務器接受并處理完請求,返回 HTTP 響應,一個響應報文格式基本等同于請求報文,由響應行、響應頭、空行、實體組成

5. 瀏覽器解析渲染頁面

6. 連接結束: TCP四次揮手,端口連接

六、Cookie和Session的區別

 

6.1 Cookie簡介:

  • 是由服務器發給客戶端的特殊信息,以文本的形式存放在客戶端
  • 客戶端再次請求的時候,會把Cookie回發
  • 服務器接收到后,會解析Cookie生存與客戶端相對于的內容

Cookie的設置以及發送過程:

一篇帶給你HTTP協議詳解

6.2 Session簡介:

  • 服務器端的機制,在服務器上保存的信息
  • 解析客戶端請求并操作session id,按需保存狀態信息

6.3 Cookie和Session的區別

  • Cookie數據 存放在客戶的瀏覽器上,Session的數據放在服務器上
  • Session相對于Cookie更安全
  • 若考慮減輕服務器負擔,應當使用Cookie

七、總結

 

到這里呢,HTTP協議就講解完成了,以上就是小農對于HTTP的認識,

【原文地址】:https://mp.weixin.qq.com/s/sXXpFpkjXixNQfEtzOn3Yw

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 99精品国产自产在线观看 | 欧美精品国产一区二区三区 | 国产亚洲精品综合在线网址 | 大叔在线观看 | 男女男精品视频免费观看 | 日韩亚洲欧美一区二区三区 | 色天天综合网色鬼综合 | 国产精品每日在线观看男人的天堂 | 完整秽淫刺激长篇小说 | 99精品国产高清自在线看超 | 色五月天天 | 亚洲国产婷婷俺也色综合 | 国产精品林美惠子在线观看 | 国产一区二区视频在线播放 | 日本免费在线观看视频 | 日本老熟老太hd | 国内老司机精品视频在线播出 | 青柠影院在线观看免费完整版1 | 性柔术xxxhd| 亚洲精品中文字幕第一区 | 国产成人精品1024在线 | 久久综合狠狠综合狠狠 | 91在线老王精品免费播放 | 村妇超级乱淫伦小说全集 | 青青青在线免费 | 性xxx免费视频 | 亚洲香蕉伊在人在线观婷婷 | 亚洲日本在线观看网址 | 日本免费高清在线 | 特级非洲黑人一级毛片 | 极品主播的慰在线播放 | 日本xxwwwxxxx | 91进入蜜桃臀在线播放 | 国产自拍视频一区 | 欧美在线观看视频一区 | 无限好资源免费观看 | 午夜办公室在线观看高清电影 | 精品国产自在在线在线观看 | 日本不卡1卡2卡三卡网站二百 | 亚洲国产成人久久综合一区77 | 视频免费视频观看网站 |