日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[HTTP协议]入门篇

發布時間:2023/11/27 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [HTTP协议]入门篇 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • http的前世今生
      • 1. 史前時期
      • 2. 創世紀
      • 3. 從產生到發展
    • HTTP是什么
    • 與HTTP相關的各種概念
    • 與HTTP相關的技術
    • TCP/IP協議棧

http的前世今生

1. 史前時期

  • 20世紀60年代,美國國防部高等研究計劃署ARPA建立ARPA網,四個分布在各地的節點
  • 20世紀70年代,TCP/IP協議產生并流行

2. 創世紀

1989年,Tim Berners-Lee在論文中提出3個關鍵技術——URI、HTML、HTTP,http誕生

3. 從產生到發展

a. 20世紀90年代初,HTTP/0.9,結構簡單,純文本,只允許[GET]操作,響應后關閉連接
b. 1996年,HTTP/1.0形式上和現在的HTTP差距不大,但只是參考文檔,當時意義不大。RFC 1945

  • 增加了HEAD、POST等新方法
  • 增加響應狀態碼,標記可能的錯誤原因
  • 引入了協議版本號概念
  • 引入了http Header的概念
  • 傳輸的數據不再僅限于文本

c. 1995年的"瀏覽器大戰”結束后,99年HTTP/1.1發布RFC 2616,小幅修改,但是“正式的標準”。目前主力

  • 增加了PUT、DELETE等新方法
  • 增加了緩存管理和控制
  • 明確了連接管理、允許持久連接
  • 允許響應數據分塊chunked,利于傳輸大文件
  • 強制要求Host頭,讓互聯網主機托管成為可能

d. 2015年,基于Google的SPDY協議的HTTP/2.0誕生,目前普及率較低RFC 7540

  • 二進制協議,不再是純文本【安全】
  • 可發起多個請求,廢棄了1.1的管道【寬帶】
  • 使用專用算法壓縮頭部,減少數據傳輸量【寬帶】
  • 允許服務器主動向客戶端推送數據【移動】
  • 增加了安全性,“事實上”要求加密通信【安全】

e. 未來的發展方向,基于Google的QUIC協議的HTTP/3.0

HTTP是什么

HTTP(HyperText Transfer Protocol):超文本傳輸協議
1. 協議:
a. 兩個及以上參與者【協】
b. 對參與者的一種行為約定和規范【議】

2. 傳輸協議:
a. HTTP協議是一個“雙向協議”——請求方&&響應方/應答方
b. 數據傳輸允許中間“中轉”或“接力”

3. 超文本:

  • 文本:簡單的字符文字 -->圖片、音頻、視頻、甚至是壓縮包
  • 超文本:文字、圖片、音頻等的混合體,含有“超鏈接”,能夠實現跳轉,復雜的非線性、網狀的結構關系

HTTP:一個在計算機世界里,專門在兩點之間傳輸文字、圖片、音頻、視頻等超文本數據的約定和規范

  • HTTP不存在“單獨的實體”,與應用程序、操作系統、Web服務器密切相關,在他們之前的通信過程中動態存在
  • Internet上的協議:http/https/ftp/smtp/pop3等
  • HTTP != HTML
  • HTTP通常跑在TCP/IP協議棧上,依靠IP協議實現尋址和路由、TCP協議實現可靠數據傳輸、DSN協議實現域名查找、SSL/TLS協議實現安全通信。此外,WebSocket、HTTPDNS等協議一欄與HTTP。

與HTTP相關的各種概念


1. 網絡世界

  • 局域網 / 廣域網 / 因特網 [FTP/BT/IMAP-POP3/MagNet] / 萬維網[www]
  • 萬維網——基于HTTP協議,傳輸HTML等超文本資源
  • 互聯網:90%被萬維網/HTTP協議覆蓋;
  • 互聯網還包括常用的電子郵件、BT 和 Magnet 點對點下載、FTP 文件下載、SSH 安全登錄、各種即時通信服務等等,它們需要用各自的專有協議來訪問。

2. 瀏覽器

  • Web Browser:檢索、查看互聯網上網頁資源的應用程序
  • 本質上是HTTP協議中的請求方,獲取資源
  • 在HTTP協議中,為User Agent,作為訪問者的代理發起HTTP請求。客戶端

3. Web服務器

  • web Server:HTTP協議中響應請求的主體,把控著絕大多數網絡資源
  • 軟件 && 硬件
  • Apache[老牌,功能完善、相關資料多、學習門檻低] && Nginx[后起之秀,高性能、高穩定、易擴展]

4. CDN

  • Conetnt Delivery network:內容分發網絡
  • 應用HTTP協議的緩存和代理技術,代替源站響應客戶端請求
  • 緩存源站數據,在“半路”獲取響應,大幅度縮短響應時間

5. 爬蟲

  • Crawler:可自動訪問Web資源的應用程序
  • 爬蟲的數據大都由各大搜索引擎放出來的,抓取網頁存入龐大的數據庫,再建立關鍵字索引,在搜索引擎中快速搜索互聯網角落里的頁面
  • 過度消耗網絡資源,占用服務器和帶寬,影響網站對真實數據的分析,甚至導致敏感信息的泄露
  • “爬蟲”與“反爬蟲”用到的基本技術:HTTP、HTML

6. HTML / WebService/WAF

  • HTML:HTTP協議傳輸的主要內容之一
  • Web Service:基于Web的服務架構技術,運行于內網或外網
  • WAF:網絡應用防火墻,專門監測HTTP流量

與HTTP相關的技術


1. TCP/IP

  • 一系列網絡通信協議的統稱:核心是TCP和IP協議,其余還有UDP、ICMP、ARP等,構成協議棧
  • 協議棧:應用層<- 傳輸層TCP <- 網際層IP <- 鏈路層
  • IP:Internet Protocol主要解決尋址和路由問題,以及如何在兩點間傳送數據包
  • TCP:Transmission Control Protocol位于IP協議之上,基于IP協議提供可靠地字節流形式的通信
  • 可靠——保證數據不丟失;字節流——保證數據完整性
  • HTTP over TCP/IP

2. DNS

  • Domain Name System:用有意義的名字作為IP地址的等價替代
  • DNS中Domain Name又稱為Host,更好地標記不同國家或組織的主機,設計有層次的結構
  • 域名解析:HTTP使用TCP/IP協議通信,需要使用IP協議,所以需要把域名做一個轉換,映射到他的真實地址
  • 為了方便訪問互聯網上的Web服務器,通常會使用DNS來定位或標記主機名

3. URI/URL

  • 定位主機上眾多的文本、圖片、頁面
  • Uniform Resource Identifier:統一資源標識符,唯一標識互聯網資源
  • Uniform Resource Locator:統一資源定位符 => 網址
  • URI的三個基本構成部分:
https://mp.csdn.net/mdeditor/95049262
a. 協議名protocol:訪問資源應當使用的協議。'http'
b. 主機名host:互聯網上主機的標記,可以是域名或IP地址。'mp.csdn.net'
c. 路徑path:資源在主機上的位置,使用'/'分隔多級目錄。'/mdeditor/95049262'

4. HTTPS

  • HTTP over SSL/TSL:加密通信
  • Secure Socket Layer發展到3.0時被更名為Transport Layer Security

5. 代理
Proxy:請求方和響應方的中轉站,既可轉發客戶端的請求,又可轉發響應方的應答

  • 負載均衡:將訪問請求均勻分散到多臺機器,實現訪問集群化
  • 內容緩存:暫存上下行數據,減輕后端壓力
  • 安全防護:匿名IP,使用WAF等工具抵御網絡攻擊,保護被代理的機器
  • 數據處理:提供壓縮、加密等額外的功能

TCP/IP協議棧

  1. TCP/IP 網絡分層模型
  • Link Layer:在以太網、WIFI等底層網絡發送原始數據包。使用MAC地址標記網絡設備。“幀frame”
  • Internet Layer:在鏈路層基礎上,用IP地址代替Mac地址連接眾多局域網、廣域網。“包package”
  • Transport Layer:保證兩點之間可靠傳輸。TCP/UDP[無連接,分散小數據包,順序發亂序收]。“段segment”
  • Application Layer:面向具體應用的協議。eg:telnet、SSH、FTP、SMTP等。HTTP的傳輸單位是"消息或報文message"
  1. OSI網絡分層模型
  • Physicql Layer:物理層,網絡的物理形式——電纜、網卡、光纖、集線器等 【無對應】
  • Data Link Layer:數據鏈路層 【== TCP/IP中Link Layer】
  • Network Layer:網絡層 【== TCP/IP中Internet Layer】
  • Transport Layer:傳輸層 【== TCP/IP中Transport Layer】
  • Session Layer:會話層,維護網絡中的連接狀態,保持會話和同步【屬于 TCP/IP中Application Layer】
  • Presentation Layer:表示層,把數據轉換為合適、可理解的語義或語法 【屬于 TCP/IP中Application Layer】
  • Application Layer:應用層 【屬于 TCP/IP中Application Layer】


域名解析過程:
瀏覽器緩存 -> 操作系統dns cache -> etc/hosts文件 -> 非權威域名服務器 -> 根域名服務器 -> 頂級域名服務器 -> 二級域名服務器 -> 權威域名服務器。

總結

以上是生活随笔為你收集整理的[HTTP协议]入门篇的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

歡迎分享!

轉載請說明來源于"生活随笔",并保留原作者的名字。

本文地址:[HTTP协议]入门篇