中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Web之http協議(一)

發布時間:2020-06-12 18:21:27 來源:網絡 閱讀:507 作者:蛋腸排骨_ 欄目:建站服務器

一、我們是如何使用web網站的?

首先,我們會在瀏覽器的地址欄里面輸入web網站的地址。然后就可以見到瀏覽器出現了相關的內容了。其實這一個過程是web瀏覽器通過請求web服務器,然后把web服務器的內容接收后呈現在我們面前的內容。這個過程,使用了一個叫超文本傳輸協議(http協議)作了規范,完成了這一流程。也就是說web是基于http協議的,可見HTTP協議的重要性。


 

二、HTTP協議的歷史

1.HTTP/0.9

請求:GET /index.html

回應:服務器只能回應HTML格式的字符串,不能回應別的格式。

<html>

<body>Hello World</body>

</html>

 

2.HTTP/1.0

首先,任何格式的內容都可以發送。這使得互聯網不僅可以傳輸文字,還能傳輸圖像、視頻、二進制文件。這為互聯網的大發展奠定了基礎。

其次,除了GET命令,還引入了POST命令和HEAD命令,豐富了瀏覽器與服務器的互動手段。

再次,HTTP請求和回應的格式也變了。除了數據部分,每次通信都必須包括頭信息(HTTP header),用來描述一些元數據。

缺點:HTTP/1.0 版的主要缺點是,每個TCP連接只能發送一個請求。發送數據完畢,連接就關閉,如果還要請求其他資源,就必須再新建一個連接。

 

3.HTTP/1.1

持久連接:即TCP連接默認不關閉,可以被多個請求復用,不用聲明Connection: keep-alive。對于同一個域名,大多數瀏覽器允許同時建立6個持久連接

管道機制:管道機制則是允許瀏覽器同時發出A請求和B請求,但是服務器還是按照順序,先回應A請求,完成后再回應B請求。

 

 

 

缺點:

服務器只有處理完一個回應,才會進行下一個回應。要是前面的回應特別慢,后面就會有許多請求排隊等著。這稱為"隊頭堵塞"(Head-of-line blocking)。為了避免這個問題,只有兩種方法:一是減少請求數,二是同時多開持久連接。這導致了很多的網頁優化技巧,比如合并腳本和樣式表、將圖片嵌入CSS代碼、域名分片(domain sharding)等等。

 

4.HTTP/2

二進制協議

HTTP/1.1 版的頭信息肯定是文本(ASCII編碼),數據體可以是文本,也可以是二進制。HTTP/2 則是一個徹底的二進制協議,頭信息和數據體都是二進制,并且統稱為"幀"(frame):頭信息幀和數據幀。

多工

HTTP/2 復用TCP連接,在一個連接里,客戶端和瀏覽器都可以同時發送多個請求或回應,而且不用按照順序一一對應,這樣就避免了"隊頭堵塞"。

 

目前我們使用中的是HTTP/1.1

三、http相關的各類協議

1.tcp/ip協議

通常使用的網絡(包括互聯網)是在 TCP/IP 協議族的基礎上運作的。而 HTTP 屬于它內部的一個子集。TCP/IP 協議族按層次分別分為以下 4 層:應用層、傳輸層、網絡層和數據鏈路層。其通信流程如下:

Web之http協議(一) 

 

2.IP協議

IP 協議的作用是把各種數據包傳送給對方。而要保證確實傳送到對方那里,則需要滿足各類條件。其中兩個重要的條件是 IP 地址和 MAC 地址。IP 地址指明了節點被分配到的地址,MAC 地址是指網卡所屬的固定地址。IP 地址可以和 MAC 地址進行配對。IP 地址可變換,但 MAC 地址基本上不會更改。流程圖如下:

Web之http協議(一) 

 

3.tcp協議

所謂的字節流服務(Byte Stream Service)是指,為了方便傳輸,將大塊數據分割成以報文段(segment)為單位的數據包進行管理。而可靠的傳輸服務是指,能夠把數據準確可靠地傳給對方。一言以蔽之,TCP 協議為了更容易傳送大數據才把數據分割,而且 TCP 協議能夠確認數據最終是否送達到對方。

發送端首先發送一個帶 SYN 標志的數據包給對方。接收端收到后,回傳一個帶有 SYN/ACK 標志的數據包以示傳達確認信息。最后,發送端再回傳一個帶 ACK 標志的數據包,代表“握手”結束。

Web之http協議(一) 

 

4.dns服務

DNSDomain Name System)服務是和 HTTP 協議一樣位于應用層的協議。它提供域名到 IP 地址之間的解析服務。

Web之http協議(一) 

 

5.各協議與http協議構成了的關系

Web之http協議(一) 

 

四、URI,URL,URN的關系與區別

統一資源標志符URI就是在某一規則下能把一個資源獨一無二地標識出來。拿人做例子,假設這個世界上所有人的名字都不能重復,那么名字就是URI的一個實例,通過名字這個字符串就可以標識出唯一的一個人。現實當中名字當然是會重復的,所以×××號才是URI,通過×××號能讓我們能且僅能確定一個人。

那統一資源定位符URL是什么呢。也拿人做例子然后跟HTTP的URL做類比,就可以有動物住址協議://地球/中國/廣東省/佛山/禪城/某大廈/某單元/某座位/張三可以看到,這個字符串同樣標識出了唯一的一個人,起到了URI的作用,所以URL是URI的子集。URL是以描述人的位置來唯一確定一個人的。

在上文我們用×××號也可以唯一確定一個人。對于這個在佛山的張三,我們也可以用:

×××號:123456789來標識他。所以不論是用定位的方式還是用編號的方式,我們都可以唯一確定一個人,都是URl的一種實現,而URL就是用定位的方式實現的URI。

回到Web上,假設所有的Html文檔都有唯一的編號,記作html:xxxxx,xxxxx是一串數字,即Html文檔的×××號碼,這個能唯一標識一個Html文檔,那么這個號碼就是一個URI。而URL則通過描述是哪個主機上哪個路徑上的文件來唯一確定一個資源,也就是定位的方式來實現的URI。

對于現在網址我更傾向于叫它URL,畢竟它提供了資源的位置信息,如果有一天網址通過號碼來標識變成了http://741236985.html,那感覺叫成URI更為合適,不過這樣子的話還得想辦法找到這個資源咯


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

色达县| 横山县| 阿克苏市| 临邑县| 论坛| 温州市| 理塘县| 和平区| 慈利县| 溧水县| 林西县| 屏东县| 昌都县| 英德市| 平和县| 吕梁市| 安顺市| 洞头县| 牟定县| 新野县| 军事| 辛集市| 秦皇岛市| 嫩江县| 宜兰市| 正定县| 施甸县| 积石山| 宁河县| 元氏县| 香格里拉县| 靖远县| 闻喜县| 桑日县| 衢州市| 芷江| 汉寿县| 奉新县| 宜兰县| 新野县| 甘德县|