HTTP / 2 on uusi tapa jolloin sivustosi latautuu paljon nopeammin poistamalla monia HTTP: n nykyiseen versioon liittyviä tehottomuuksia. Suurin asia siitä? Sinun ei tarvitse mennä paljon vaivaa saada se ja käynnissä.

Tai sinä?

Mikä on HTTP / 2?

Kun HTTP1 ja HTTP1.1 kehitettiin alunperin, verkko oli hyvin erilainen kuin nykyään. Verkkosivustoilla oli vähemmän resursseja (JavaScript-tiedostoja, CSS-tiedostoja, kuvia) kuin nykyään. Internet-yhteydet eivät olleet kovin nopeita, eivätkä käyttäjät ole kovin rikkaita verkkosivujen latausnopeudella.

Käyttäjät alkavat saada kutiava sormet, kun sivusto kestää kauemmin kuin 3 sekuntia näyttää vastauksen.

Olit iloinen, että verkkosivusto ladattiin kokonaan. Olette salaa valittaneet, että lastaus oli hidasta. Ette kuitenkaan voineet todella tehdä sitä paljon. Tämä johtuu siitä, että hidas latausaika oli tyypillisesti peräisin tekijöistä, jotka olivat riippumattomia web-palvelimesta ja käyttämästäsi tekniikasta. Useimmiten se oli todellinen internetyhteys, joka oli tärkein rajoittava tekijä.

Nopeasti eteenpäin tänään. Suuri verkkosivujen latausaika mitataan millisekunteina pikemmin kuin sekuntia. Käyttäjät alkavat saada kutiava sormet, kun sivusto kestää kauemmin kuin 3 sekuntia näyttää vastauksen. Tällaisessa tilanteessa HTTP: n alkuperäisiin versioihin liittyneet tehottomuudet, jotka lasketaan millisekunteina, alkavat tehdä todellista eroa. Siksi saat niin monia artikkeleita, joista keskustellaan miten sivustoasi nopeutetaan . Koska millisekuntia on väliä.

HTTP: n uusi versio, joka tunnetaan nimellä HTTP / 2 käsittelee tiettyjä HTTP: n tunnettuja ongelmia. Sen tavoitteena on käsitellä useita ongelmia, jotka ovat kirkastuneet, kun web on kehittynyt suuremmille ja suuremmille verkkosivustoille, joissa on paljon enemmän CSS-, JS- ja kuvatiedostoja kuin alun perin odotettiin.

Mutta mikä on vika HTTP1.x: ssä, ja miksi käytämme niin paljon työtä sen nopeuttamiseksi?

HTTP1.x-ongelmat

HTTP1.x: llä on useita luontaisia ​​ongelmia. Oikeastaan ​​pidättäytymme kutsumasta heille ongelmia. HTTP1.x: llä on useita tapoja, joilla se voi olla tehokkaampi.

  1. HTTP 1.x on tekstipohjainen: alunperin ajatus oli, että HTTP1.x: n pitäisi olla ihmisolennossa, joten se oli täysin tekstipohjainen. Määritelmän mukaan kaikki tekstipohjaiset protokollat ​​ovat niihin liittyneitä tehottomia, kuten välilyöntejä, linkkitekijöitä, pääomitusta jne.
  2. Ainoastaan ​​yksi tiedosto siirretään kerralla: tämä on yksi suurimmista ongelmista HTTP: n 1.x-versioiden kanssa. Kuvitelkaa vain toimittaja, joka pystyy toimittamaan vain yhden paketin kerrallaan. Heidän on palattava perustaan ​​aina kun he tarvitsevat toimittaa seuraavan paketin.
  3. Satoja pyyntöjä tarvitaan nykypäivän verkkosivuilla: entistä kehittyneemmillä teemoilla tarkoitetaan verkkosivustojen kokoa ja resurssien määrää kasvaa. Ja niin kestää jokaisen resurssin lataaminen. Muista, että "toimittajan" on palattava perustaksi joka kerta, he eivät pysty siirtämään useampaa kuin yhtä tiedostoa kerrallaan.
  4. Jokainen yhteys on raskas tekninen operaatio: Koska satoja yhteyksiä tarvitaan, se alkaa kertyä vakavasta yleiskustannuksista. Kun latausaika mitataan millisekunteina, yhdistetty aika, joka tarvitaan yhteyden muodostamiseen satoja resursseja varten, alkaa hyvin merkittäväksi.

Usein Web-suunnittelijoiden oli toteutettava erityistoimenpiteitä näiden tehottomuuksien vähentämiseksi. Kiertotapahtumat, kuten CSS-spritit, minification ja tiedostojen yhdistäminen, on tarkoitettu ratkaisemaan ladattavien sivustojen ongelmat.

Nämä ovat - olennaisilta osin - kiertoliikkeet pikemminkin kuin korjauksia.

Miten HTTP / 2 ratkaisee HTTP1.x-ongelmat

HTTP / 2 on suunniteltu ja kehittynyt SPDY , protokolla, joka on suunniteltu osoitteessa Google jonka tarkoituksena on tehdä verkosta 2x nopeammin. Se käsittelee HTTP-ongelmia seuraavalla tavalla

  1. HTTP / 2 on tarkoitettu koneet (verkkoselaimesi ja verkkosivustosi verkkopalvelimen) kulutukseen ihmisten sijaan. Se on pikemminkin binääri kuin tekstipohjainen, joten se on luonnostaan ​​tehokkaampi. Tietojen siirtäminen ja jäsentäminen on nopeampaa binääristen protokollien avulla.
  2. Useita tiedostoja voidaan siirtää samanaikaisesti samalla yhteydellä . Korjaukset toteutettiin siten, että voit liittää putkilinjan resursseja samaan yhteyteen. Sen sijaan, että tarvitsisimme joka kerta avaa uuden yhteyden (toimittajat menevät takaisin tukikohtaan), kaikki resurssit voidaan siirtää samalle yhteydelle (toimitusmies kaataa kaiken pakettiautoon ja vie kaiken yhdestä matkalle).
  3. Palvelin painaa lähettää tiedostoja, joita selain vaatii. HTTP1.x: ssä on web-selain, joka pyytää verkkopalvelinta sille tarvittavista resursseista. HTTP Server Push (toteutettu osana HTTP / 2) mahdollistaa sen, että palvelin alkaa lähettää resursseja, jotka tuntevat sen, että selaimesi tarvitsee. Voit esimerkiksi kehottaa palvelinta olemaan odottamaan, että selaimessa kysytään CSS-, JS- ja muita resurssitiedostoja, joita selaimessa tarvitsee joka tapauksessa.
  4. HTTP-paketti Header ja muut optimoinnit - nämä ovat teknisiä parannuksia, jotka on suunniteltu parantamaan siirtojen todellista tehokkuutta

Mitä HTTP2: n käyttöön vaaditaan?

Koska HTTP / 2-protokollaa ei tueta salaamattomien yhteyksien varalta, verkkosivuston omistajat ovat vahvasti asettuneet HTTP-sivustojen toteuttamiseen.

Takaisin artikkelin alkuun sanoimme, että päästäsi ei tarvita paljon työtä HTTP / 2: n sallimiseksi. HTTP / 2: n käyttöönotto on jotain, joka on tehtävä verkkopalvelimen tasolla. Useimmat Web-palvelimet, kuten Apache, Nginx, IIS ja muut suuret verkkopalvelimet, jo tukevat HTTP / 2-palvelua.

Jos suoritat oman web-palvelimen, tarvitset vain asentaa ja ottaa käyttöön HTTP / 2-kirjastot. Jos sivustosi isännöi isännöintiyrityksen kanssa, tarkista, onko Web-palvelin jo käytössä HTTP / 2-palvelussa.

Saalis? Secure-sertifikaatit

Ehkä asiat olivat liian hyviä ollakseen totta. Olemme juuri keskustelleet siitä, miten web-palvelimet tukevat jo täysin HTTP / 2-palvelua.

Useimmat suuret verkkoselaimet tukevat myös HTTP / 2: tä. He ovat kuitenkin myös päättäneet tukea vain HTTP / 2 salatussa tilassa. Syynä tähän on, että HTTPS (salaus) on käytössä vahvalla liikkeellä koko verkossa. Tällaisia ​​aloitteita kuten HTTPS kaikkialla paina voimakkaasti HTTPS-tarvetta kaikilla verkkosivuilla.

Koska HTTP / 2-protokollaa ei tueta salaamattomien yhteyksien varalta, verkkosivuston omistajat ovat vahvasti asettuneet HTTP-sivustojen toteuttamiseen.

Tietenkään tämä ei ole välttämättä huono asia. HTTPS: n käyttöönotolla on merkittäviä turvallisuus- ja yksityisyysetuja. Yritysten kanssa, jotka muodostavat nimeltään sertifikaatti Let's Encrypt sallia ilmainen varmennettu sertifikaatti, kokonaiskustannukset, jotka todella hankkivat todistuksen ja toteuttavat HTTPS: n, tulevat paljon halvemmaksi. Tämä oli suhteellisen kallista jo jonkin aikaa sitten.

HTTPS: n käyttöönotto ei ole sellaista, mitä sinun tarvitsee tehdä ilman, että se antaa tarvittavan asianmukaisen ajattelun. Saatat luultavasti haluta keskustella tästä luotettavalla sivuston kehittäjillä tai jollakin, jolla on tarpeeksi teknistä asiantuntemusta. Useimmiten, hosting-yrityksen pitäisi pystyä ohjaamaan sinut läpi tämän.

Tietenkin on erittäin suositeltavaa toteuttaa HTTPS. Lisäsuojauksen lisäksi sinulla on mahdollisuus ottaa HTTP / 2 käyttöön ja tehdä sivustostasi nopeampi. Tätä kutsumme win-win -tilanteeksi.

Ovatko muut optimointitekniikat vielä tarpeellisia?

Kyllä ja ei.

Tietyt optimoinnit, joilla pyritään vähentämään verkkopyyntöjä, ovat tarpeettomia. Jos sivustosi laskee laskenta-aikaa "yhdistää" JS-, CSS- ja muita tiedostoja, tämä on todellisuudessa tullut yleiskustannukseksi. Aina "hukkaan" kohdistuva edellä mainittu tehottomuus ei ole enää tarpeen.

Toisaalta tällaiset optimoinnit, kuten välimuistiin tallentaminen, resurssien koon pienentäminen, sisällön toimittaminen CDN: n yli, hyvä hosting-palvelin valitseminen ja muut optimoinnit, jotka kohdistuvat erilaisiin tehottomuuttoihin, tulisi pysyä paikallaan.

HTTP / 2: n hieno asia on se, että verkkosivustosi lataaminen nopeutuu, ja se myös ajaa sinut tekemään verkkosivustosi turvallisemmaksi. Ei ole mitään väitettä siitä, että kummallekin on hyötyä. HTTP / 2 on seuraava vaihe koko verkon nopeuttamiseksi. Kaikki olla osa sitä ja teke se tapahtua.