亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

俯視 HTTP 協議

生活中的各類電商系統,學校的教務系統,工作中的各種辦公軟件基本上都是 Web 網站。少部分的是桌面應用,而這一部分的桌面軟件也都紛紛在往 Web 應用上面遷移。因為桌面軟件還需要下載 APP 安裝到本地電腦,而 Web 網站你只要打開瀏覽器就可以直接訪問,在便利性方面 Web 網站是有巨大的優勢。作為互聯網的從業者,我們需要了解這個表現背后的原理,那就是 Http 協議,它幫助我們將遠端服務器的數據信息傳輸到我們瀏覽器的客戶端。本小節,將會從歷史背景,實現原理,協議是什么,幾個方面讓你對 Http 有一個比較深刻的了解。

1. HTTP 的歷史背景

一個東西的產生可能有偶然因素,但是事物的興盛就必然有他客觀價值的存在。HTTP(hypertext transport protocol)超文本傳輸協議也是如此,下面我們來介紹它誕生的背景。

1.1 WEB網絡

WWW (World Wide Web),英文名 World 看出來這東西很宏大,顧名思義就是全世界都在一個網絡里,因為它世界的距離被拉近。但是這家伙最早也是從單細胞慢慢演變而來的,它是誕生于科學家的物理實驗室中用于檔案的存儲,后來慢慢演變成大學里知識交流的一個網絡,再后來這個網絡的規模越變越大,突破層級構架成了如今的互聯網。

Web 網絡方便了我們的信息傳遞,背后依托的就是 Http 這項協議。

www

1.2 HTTP 協議

Http 是一種協議,它制定了瀏覽器客戶端和 Web 服務端信息傳遞的規則,所有的瀏覽器廠商和所有的 Web 后臺服務都是遵從這個規則來實現信息的傳遞的。Web 服務的信息傳遞從最早期單一的文字,到后來有了圖片,音頻視頻,而 HTTP 協議隨著傳遞信息的變化也經歷了以下幾個版本的變化:

  • HTTP/0.9:于 1990 年問世,用于簡單文字的交換;
  • HTTP/1.0:被正式列為 www 傳輸的標準,納入 RFC1945;
  • HTTP/1.1:在 1.0 的基礎上新增了連接方式的規約;
  • HTTP/2.0:隨著網絡的應用越來越廣,內容也越來越豐富。HTTP2.0 在安全,性能,交互場景都有了很大的改進。

目前市場上主流的還是 HTTP/1.1 ,隨便打開一個瀏覽器 F12 查看下網絡,基本上都可以看到 版本:HTTP/1.1。但是 HTTP/2.0 作為下一代的網絡協議,前景可期。因為我們現在的網絡都在追求加速,在硬件不斷疊加,程序不斷優化,CDN資源加速,之后如果繼續優化的話那就只有 HTTP 協議本身了。2.0 因為有了多路復用,協議壓縮等功能,所以性能上面是要比 1.1 高出不少的,普及只是時間問題。

2. 實現-TCP/IP 協議

Http 和 TCP/IP 都是協議,它們的不同之處在于:HTTP 是瀏覽器和后臺服務之間的語言,而 TCP/IP是電腦之間的語言(相同的語言才能互相理解雙方要表達的意思)。Http 本身只是約定了傳輸的時候文字要是什么格式,具體文字如何轉成物理的高低電平穿越電腦實現傳輸的過程它是不知道的。

所以它需要借助專業的人士 TCP/IP 來處理。TCP/IP 是專門解決主機之間信息傳輸的,它不局限于為 Http 服務,像發送郵件也有自己的郵件協議(SMTP),它的底層也需要借助 TCP/IP 來實現。(TCP/IP是整套完整的網絡傳輸框架模型,HTTP 也是屬于它里面的應用層)。

demo

3. 為什么要學習 HTTP 協議?

Http 協議是前后端 API 接口交互的橋梁,不管你是前端開發,移動端開發,后端開發,它都是你工作必不可少的部分。在如今的生產環境中,為了快速實現邏輯業務的開發,往往這部分是被框架封裝得很完整了,初學者就更加容易忽視它,以至于遇到問題無從下手。

  • 為什么我資源更新了,界面還是舊的,可能是 Http 緩存了;
  • 請求的參數該放路徑還是 Body 中;
  • 接口報錯了,返回的狀態碼看不懂;
  • 接口文檔如何編寫才是規范的;
  • 讓 Http 協議規范自己的軟件開發;
  • 雖然 Http 工具封裝得很好用,但我必須搞懂它,要做工具的主人而不是奴隸,必要的時候自己造工具。

4. 本課程的學習基礎

本課程面向的是的入門小白,和初級開發人員。只要是計算機相關專業的即可,對于非計算機專業的學生,建議先去學習下計算機組成原理再來看該系列的文章會更容易吸收。

5. 小結

Http 并不單單應用在 Web 網站中,桌面軟件/移動應用這些客戶端要想與服務器交互數據,也同樣可以借助 Http 協議。它是一種輕量級,跨語言,使用范圍很廣的傳輸協議。