濟南網站優化公司,為您提供專業的網站優化,排名優化,關鍵詞優化服務,seo優化師一對一對接,助您快速提升網站關鍵詞排名.

濟南網站優化

幫助企業快速提升網站排名和流量

專注網站優化,SEO關鍵詞排名,一切用數據說話!

整站優化業務咨詢

針對SEO的HTTP / 2簡介

點擊次數: 發布時間:2019-12-24 16:19文章來源:搜索引擎優化

在90年代中期,有一個著名的事件,一位美國大學的電子郵件管理員接到一位教授的電話,該教授抱怨他的部門只能發送500英里的電子郵件。教授解釋說,每當他們試圖向更遠的人發送電子郵件時,他們的電子郵件都會失敗 - 這聽起來像是胡說八道,但結果卻發生了。要了解原因,您需要意識到光速實際上對您的互聯網工作方式的影響比您想象的要大。在電子郵件的情況下,連接超時設置為大約6毫秒 - 如果你做的數學大約是光線行進500英里所需的時間。

###

網絡連接跨越一段距離打開所需的時間稱為延遲,事實證明,延遲有很多可以回答的問題。延遲是影響網絡速度的主要問題之一,也是谷歌開始發明http / 2的主要原因之一(在它成為網絡標準之前,它最初被稱為spdy) 。

http / 2現在已經成為一種既定的標準,并且在網絡上看到了很多用途,但仍然沒有像大多數網站那樣廣泛使用。這是一個提高網站速度的簡單機會,但嘗試理解它可能會相當令人生畏。

在這篇文章中,我希望提供一個可訪問的http / 2頂級介紹,專門針對seo。我確實刷過技術細節的某些部分并沒有涵蓋http / 2的所有功能,但我的目的不是為了給你一個詳盡的理解,而是幫助你理解最容易理解的重要部分方式可能。

http 1.1 - 當前規范目前,當請求網頁或其他資源(例如圖像,腳本,css文件等)時,您的瀏覽器會向服務器說出http以進行通信。當前版本是http / 1.1,它是過去20年的標準,沒有任何變化。

請求的剖析在本文中,我們不會過多地深入研究http的深層技術細節,但我們將快速了解請求的內容。請求有幾位:

這里的第一行是說這是什么類型的請求(get是正常的請求類型,post是人們知道的另一個主要的),以及請求的url(在本例中為/ anchorman /),最后是哪個我們正在使用的http版本。

第二行是強制性的“主機”標頭,它是所有http 1.1請求的一部分,并且涵蓋了通常單個網絡服務器可能托管多個網站并且需要知道您正在尋找哪些網站的情況。

最后會有各種其他標題,我們不打算進入。在這種情況下,我顯示了用戶代理標頭,指示您用于連接到網站的設備和軟件(瀏覽器)。

http =卡車!為了幫助解釋和理解http和一些問題,我將在http和...卡車之間進行類比!我們假設從您的瀏覽器發送的http請求是卡車,必須從您的瀏覽器驅動到服務器:

###

在這個類比中,我們可以想象道路本身就是從您的計算機到服務器的網絡連接(tcp / ip,如果您需要):

道路是一個網絡連接 - 我們的http卡車的傳輸層

然后請求由卡車代表,其中載有請求:

http trucks從瀏覽器向服務器發送請求

響應是卡車回來時帶有響應,在這種情況下是我們的html:

http trucks將響應從服務器傳回瀏覽器

“那么問題是什么?!這聽起來很棒,湯姆!“ - 我聽到你們都說。問題是,在這個模型中,任何人都可以盯著卡車拖車看看他們正在拖運什么。如果http請求包含信用卡詳細信息,個人電子郵件或其他任何敏感的人都可以看到您的信息。

http卡車并不安全 - 人們可以偷看他們,看看他們攜帶的是什么

httpshttps旨在解決人們能夠窺視我們的卡車并看到他們攜帶的東西的問題。

重要的是,https基本上與http相同 - 卡車和它們以相同的方式運輸的請求/響應。響應代碼和標題都是相同的。

差異都發生在運輸(網絡)層,我們可以把它想象成我們的道路:

在https中,請求和響應與http相同。這條路很安全。

在本文的其余部分,我會想象我們的道路上有一條隧道,但不會顯示它 - 如果我們看不到我們的卡車那就太無聊了!

延遲的影響所以這個模型的主要問題與我們卡車的最高速度有關。在500英里的電子郵件介紹故事中,我們看到光速可以對互聯網的運作產生非常實際的影響。

http卡車的速度不能超過光速。

http請求和許多http響應往往很小。然而,我們的卡車只能以光速行駛,因此即使這些小的請求也需要時間來回從用戶到網站。很有可能認為這不會對網站性能產生明顯影響,但實際上這是一個真正的問題......

http卡車以恒定速度行駛,因此較長的道路意味著響應較慢。

用戶瀏覽器和web服務器之間的網絡連接距離越遠(我們的“道路”的長度),請求和響應必須越遠,這意味著它們需要更長的時間。

現在考慮一個典型的網站不是一個單一的請求和響應,而是一系列的請求和響應。通常,響應意味著需要更多請求 - 例如,html文件可能引用圖像,css文件和javascript文件:

###

其中一些文件可能具有進一步的依賴性,依此類推。通常,網站可能有50-100個單獨的請求:

###

如果我們查看具有css文件和大量圖像的簡單頁面的頁面(此示例為此http / 2站點)的瀑布圖,您可以看到此操作:

###

在上圖中,橙色和紫色段可以被認為是我們的流輥,在那里建立新的連接。您最初可以看到只有一個連接打開(第1行),另一個連接被打開。然后,第2行重新使用第一個連接,第3行是第二個連接的第一個請求。當完整的第4和第5行是接下來的兩個圖像時。

此時,瀏覽器意識到它將需要更多連接,因此打開了另外四個連接,然后我們可以看到請求分批進行6次,與6條道路或打開的網絡連接相對應。

延遲與帶寬

在上面的瀑布圖中,這些圖像中的每一個都可能很小,但每個圖像都需要卡車才能拿到它。這意味著許多往返旅行,并且鑒于我們一次只能同時運行6次,因此等待請求的時間很長。

有時很難理解帶寬和延遲之間的差異。帶寬可以被認為是我們的卡車的負載能力,每輛卡車可以攜帶更多。這通常對網頁時間沒有幫助,因為每個請求和響應都不能與另一個請求共享卡車。這就是為什么已經表明增加帶寬對頁面的加載時間的影響有限。mike belshe在google上進行的研究表明了這一點,googler ilya grigorik 在本文中對此進行了討論:

###

事實很清楚,為了提高網絡的性能,需要解決延遲問題。上面的研究是導致google開發spdy協議的原因,該協議后來轉變為http / 2。

改善延遲的影響為了改善延遲對網站加載時間的影響,已經采用了各種策略。其中之一是“精靈地圖”,它會拍攝大量小圖像并將它們拼湊成單個文件:

###

精靈映射的優點是它們都可以放入一個卡車(請求/響應),因為它們只是一個文件。然后巧妙地使用css可以僅顯示與所需圖像對應的圖像部分。一個文件意味著只需要一個請求并且需要響應來獲取它們,這減少了所需的往返次數。

另一個有助于減少延遲的事情是使用cdn平臺(例如cloudflare或fastly)來托管全球服務器上的靜態資產(圖像,css文件等 - 非動態且對每個訪問者都相同的東西) 。這意味著用戶的往返行程可以沿著更短的道路(網絡連接),因為附近的服務器可以為他們提供他們需要的東西。

###

cdn還提供了許多其他好處,但延遲減少是一個標題功能。

http / 2 - 新世界所以希望您現在已經意識到http / 2可以幫助減少延遲并顯著提高頁面性能。怎么樣呢!

引入多路復用 - 更多卡車救援!使用http / 2,我們允許多路復用,這實際上意味著我們可以在每條道路上擁有多輛卡車:

###

我們可以立即看到瀑布圖上的行為變化 - 將其與上面的變化相比較(不是規模的變化 - 這要快得多):

###

您可能獲得的確切速度優勢取決于許多其他因素,但通過消除線頭阻塞(卡車必須等待)的問題,我們可以立即獲得很多好處,幾乎沒有任何成本。

相同的舊卡車使用http / 2,我們的卡車及其內容基本保持不變,我們可以想象我們有一個新的交通管理系統。

###

實現http / 2好的 - 聽起來不錯,對嗎?現在你應該想知道如何打開它!

最重要的是要理解,因為請求和響應與以往一樣,所以您根本不需要更新站點上的代碼。您需要更新服務器以使用http / 2 - 然后它將為您執行新的“流量管理”。

如果這看起來很難(或者如果您已經有),則可以使用cdn來幫助您將http / 2部署到您的用戶。像cloudflare或fastly(我最喜歡的cdn - 它需要更高級的知識來設置但是非常靈活)之類的東西會放在你的網絡服務器前面并向你的用戶說http / 2:

###

因為cdn將緩存您的靜態資產,如圖像,css文件,javascript文件和字體,即使您的服務器仍在單個卡車世界中,您仍然可以獲得http / 2的好處。

http / 2不是另一個遷移!重要的是要意識到要獲得http / 2,您需要已經擁有https,因為所有主流瀏覽器在使用安全連接時都只會說http / 2

###

但是,設置http / 2不需要像https那樣進行遷移。使用https,您的網址從 search console帳戶和一周的冥想撤退才能從壓力中恢復過來。

使用http / 2,您的網址不會更改,并且您不需要重定向或類似的任何內容。對于可以說http / 2的瀏覽器和設備,他們會這樣做(實際上是壓路機中傳達該部分的人 - 但這是一個完整的故事..!),其他設備將回歸說話http / 1.1這很好。

久久青草费线频观看