日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

HTTP的前世今生詳解

HTTP (Hypertext transfer protocol) 翻譯成中文是超文本傳輸協(xié)議,是互聯(lián)網(wǎng)上重要的一個(gè)協(xié)議,由歐洲核子研究委員會(huì) CERN 的英國(guó)工程師 Tim Berners-Lee v 發(fā)明的,同時(shí),他也是 WWW 的發(fā)明人,最初的主要是用于傳遞通過(guò) HTML 封裝過(guò)的數(shù)據(jù) 。在 1991 年發(fā)布了 HTTP 0.9 版,在 1996 年發(fā)布 1.0 版,1997 年是 1.1 版,1.1 版也是到今天為止傳輸最廣泛的版本(初始 RFC 2068 在 1997 年發(fā)布,然后在 1999 年被 RFC 2616 取代,再在 2014 年被 RFC 7230 /7231/7232/7233/7234/7235 取代),2015 年發(fā)布了 2.0 版,其極大的優(yōu)化了 HTTP/1.1 的性能和安全性,而 2018 年發(fā)布的 3.0 版,繼續(xù)優(yōu)化 HTTP/2,激進(jìn)地使用 UDP 取代 TCP 協(xié)議,目前,HTTP/3 在 2019 年 9 月 26 日 被 Chrome,F(xiàn)irefox,和 Cloudflare 支持,所以我想寫(xiě)下這篇文章,簡(jiǎn)單地說(shuō)一下 HTTP 的前世今生,讓大家學(xué)到一些知識(shí),并希望可以在推動(dòng)一下 HTTP 標(biāo)準(zhǔn)協(xié)議的發(fā)展 。
HTTP 0.9 / 1.00.9 和 1.0 這兩個(gè)版本,就是最傳統(tǒng)的 request – response 的模式了,HTTP 0.9 版本的協(xié)議簡(jiǎn)單到極點(diǎn),請(qǐng)求時(shí),不支持請(qǐng)求頭,只支持 GET 方法,沒(méi)了 。HTTP 1.0 擴(kuò)展了 0.9 版,其中主要增加了幾個(gè)變化:

  • 在請(qǐng)求中加入了 HTTP 版本號(hào),如:GET /coolshell/index.html HTTP/1.0
  • HTTP 開(kāi)始有 header 了,不管是 request 還是 response 都有 header 了 。
  • 增加了 HTTP Status Code 標(biāo)識(shí)相關(guān)的狀態(tài)碼 。
  • 還有 Content-Type 可以傳輸其它的文件了 。
我們可以看到,HTTP 1.0 開(kāi)始讓這個(gè)協(xié)議變得很文明了,一種工程文明 。因?yàn)椋?br />
  • 一個(gè)協(xié)議有沒(méi)有版本管理,是一個(gè)工程化的象征 。
  • header 是協(xié)議可以說(shuō)是把元數(shù)據(jù)和業(yè)務(wù)數(shù)據(jù)解耦,也可以說(shuō)是控制邏輯和業(yè)務(wù)邏輯的分離 。
  • Status Code 的出現(xiàn)可以讓請(qǐng)求雙方以及第三方的監(jiān)控或管理程序有了統(tǒng)一的認(rèn)識(shí) 。最關(guān)鍵是還是控制錯(cuò)誤和業(yè)務(wù)錯(cuò)誤的分離 。
(注:國(guó)內(nèi)很多公司 HTTP 無(wú)論對(duì)錯(cuò)只返回 200,這種把 HTTP Status Code 全部抹掉完全是一種工程界的倒退)
但是,HTTP1.0 性能上有一個(gè)很大的問(wèn)題,那就是每請(qǐng)求一個(gè)資源都要新建一個(gè) TCP 鏈接,而且是串行請(qǐng)求,所以,就算網(wǎng)絡(luò)變快了,打開(kāi)網(wǎng)頁(yè)的速度也還是很慢 。所以,HTTP 1.0 應(yīng)該是一個(gè)必需要淘汰的協(xié)議了 。
HTTP/1.1HTTP/1.1 主要解決了 HTTP 1.0 的網(wǎng)絡(luò)性能的問(wèn)題,以及增加了一些新的東西: