Yksinkertaisesti sanottuna HTTP:stä. HTTP-protokollan menetelmät ja rakenne

Olet luultavasti kuullut jo monta kertaa, että Google suosii sivustoja, jotka käyttävät suojattua HTTPS-yhteysprotokollaa. Onko se totta? Tässä artikkelissa tarkastellaan protokollia HTTP ja HTTPS , mitä eroa niillä on ja kannattaako sivustosi ylipäätään vaihtaa HTTPS:ään.

HTTP – käytetään tietojen hakemiseen verkkosivustoilta sovellusprotokollana. HTTPS – HTTP-protokollan laajennus, joka tukee SSL- ja TLS-protokollia. Kuten näet, HTTP ja HTTPS eivät ole eri protokollia, ja HTTPS on vain salauksen lisäosa, jota käytetään suojattuun tiedonvaihtoprosessiin ja lisäturvaa vaativien palvelimien valtuutukseen.

HTTP-protokollaa (Hypertext Transfer Protocol) käytetään ensisijaisesti HTML-sivujen käyttämiseen. Protokolla ei tallenna tietoja käyttäjän edellisestä istunnosta, joten se lähettää vähemmän dataa ja toimii siten nopeammin.

Suojattua HTTPS:ää käytetään valtuutukseen ja suojattuihin tapahtumiin. Se toimii identtisesti HTTP:n kanssa, mutta käyttää ylimääräistä kryptografista suojakerrosta - SSL-protokollaa. Teknisellä puolella molemmat protokollat ​​käyttävät kahta eri porttia viestintään: toisin kuin HTTP, suojattu vastine käyttää TCP-porttia 443. SSL:n ansiosta tiedonvaihto tapahtuu turvallisella tasolla, ja tämä on erittäin tärkeää sivustoille, jotka tallentavat luottamuksellisia asiakastietoja, esimerkiksi pankkikorttitietoja.

Ei ole ollenkaan outoa, että Google-hakukone luottaa enemmän vierailijoiden turvallisuudesta huolehtiviin sivustoihin, minkä vuoksi HTTPS-projektit sijoittuvat korkeammalle. Siirtyminen "turvatilaan" on hyödyllistä myös sivustoille, joiden ei tarvitse huolehtia käyttäjien henkilötiedoista. Tällaiset sivustot saavat etua hakutuloksissa ja houkuttelevat siten vielä enemmän kävijöitä sivuilleen.

Mitkä tekniset näkökohdat ovat TLS:n (Transport Layer Security) taustalla? :

  • tiedon koodaus sen lähetyksen turvallisuuden parantamiseksi;
  • sellaisten tietojen eheyden säilyttäminen, jotka eivät muutu tai vääristy lähetyksen aikana;
  • todennus, joka varmistaa, että vierailija pääsee juuri sille sivustolle, jota hän tarvitsee.

Vaikka hakukone sijoittuu HTTPS-sivustot korkeammalle, tällä tekijällä on silti vähän painoarvoa verrattuna muihin, joihin se myös kiinnittää huomiota, kuten laadukkaaseen sisältöön.

HTTPS:ään vaihtamisen edut :

  1. suojattujen käyttäjien viittaustietojen ylläpito;
  2. hakusijoituksen nostaminen (vaikka tällä tekijällä on vielä vähän painoarvoa, se tulee varmasti lisäämään sen merkitystä tulevaisuudessa);
  3. luottamuksellisuus: kaiken viestinnän salaus, pääsy kolmansille osapuolille, henkilötietojen suoja.

Mutta kaikkien edellä mainittujen etujen lisäksi tällaisella siirtymällä on myös haittoja, joita monet verkkovastaavat pelkäävät. Jos et esimerkiksi noudata asiantuntijoiden neuvoja, HTTPS:ään siirtyminen hidastaa hieman sivuston latausnopeutta. Lisäksi HTTP-sivusto ja HTTPS-sivusto ovat kaksi eri resurssia hakukoneelle, joten kestää jonkin aikaa, ennen kuin järjestelmä ymmärtää, että tämä on sama sivusto, ja liittää ne yhteen. Lisäksi suojattuun tilaan siirtymiseksi sinun on ostettava SSL-sertifikaatti, jonka hintaluokka riippuu sen tyypistä.

Ongelmien välttämiseksi siirtymisen aikana sinun on noudatettava seuraavia sääntöjä:

  • valitse resurssille vaadittava varmenne: yhdelle verkkotunnukselle, usealle tai jokerimerkille;
  • käytä varmenteita 2048-bittisillä avaimilla;
  • älä estä HTTPS-sivuja indeksoimasta robots.txt-tiedostossa;
  • Yritä mahdollisimman paljon olla käyttämättä noindexiä "robots"-sisällönkuvauskentässä.
  • analysoida siirtymiä HTTP:stä HTTPS:ään Googlen Webmaster Toolsissa;
  • käyttää suhteellisia URL-osoitteita määrittelemättä protokollaa kaikille muille verkkotunnuksille jne.

Jos noudatat näitä vinkkejä, voit vaihtaa kivuttomasti suojattuun HTTPS-protokollaan. Usko minua, vierailijasi ja asiakkaasi arvostavat sitä. Loppujen lopuksi sivustoon, joka on huolissaan käyttäjiensä tietojen turvallisuudesta, luotetaan paljon enemmän. Vaihda HTTPS:ään: Asenna SSL ilmaiseksi! Yksityiskohdat .

HyperHostista voit ostaa verkkoprojektiisi tarvittavan SSL-sertifikaatin ja siirtyä siten HTTPS:ään. Tekninen tukimme auttaa sinua tekemään kaikki tarvittavat asetukset ja vastaamaan kaikkiin kysymyksiisi. Voit lukea SSL-varmenteen eduista ja sen tyypeistä edellisestä artikkelista:. HTTPS:ään siirtymisen edut kuvataan tarkemmin.

5076 kertaa 6 Katsottu kertaa tänään

Internetin sivujen pääprotokolla on HTTP. Tätä protokollaa käytetään aina, kun vierailet uudella sivustolla, kun tekstiä tai kuvaa näytetään sivustolla, kun napsautat linkkejä.

Koko Internet perustuu HTTP:hen, vaikka useimmat käyttäjät eivät tiedä kuinka suosittu HTTP on heidän jokapäiväisessä elämässään.

HTTP on protokolla, jota käytetään hypertekstin siirtoon (HyperText Transfer Protocol).

Selaimesi ja palvelimen välinen vuorovaikutus tietojen kanssa perustuu tähän protokollaan. Yksinkertaisuuden ansiosta selain ja palvelin muodostavat yhteyden erittäin nopeasti. Mutta meidän ei tarvitse sukeltaa kaikkiin protokollan yksityiskohtiin, selitämme vain sen toiminnan perusperiaatteen.

Internetissä on monia protokollia, joita voit käyttää, HTTP on vain yksi monista, jolla on omat tehtävänsä ja tarkoituksensa.

Se on niin yksinkertaista, että olet jo perehtynyt HTTP:n – selaimesi – kanssa toimimiseen tarvittaviin ohjelmistoihin.

Selaimen nimestä riippumatta protokollan nimi lisätään aina oletusarvoisesti osoiteriville: “http://”. Et ehkä näe tätä tekstiä, jos selain piilottaa sen. Mutta sinun tarvitsee vain kopioida sivuston nimi, ja HTTP-protokolla lisätään sen mukana oikeaan paikkaan.

- Mitä etuliite "http://" tarkoittaa ennen sivuston nimeä?
- Tämä tarkoittaa, että käytät resurssia HTTP-protokollan kautta.

Miksi HTTP-protokolla luotiin?

Sen avulla välitetään hypertekstiasiakirjoja tai yksinkertaisemmin sivuja tarvitsemillamme sivustoilla.

Asiakas (selain) vastaanottaa verkkosivut ja palvelin lähettää sivut. Tätä tekniikkaa kutsutaan asiakas-palvelin-tekniikaksi.

HTTP:n ansiosta on tullut mahdolliseksi siirtää verkkosivuja Internetissä. Mutta mitä itse sivut sisältävät, jotka palvelin lähettää meille? Tavallinen HTML-koodi, joka tulee selaimeen, joka pystyy vain tulkitsemaan vastaanotetut tiedot oikein ja näyttämään valmiin sivuston.

Vielä vuonna 2006 lähes puolet Pohjois-Amerikan HTTP-liikenteestä tuli äänen ja videon suoratoistosta.

Miten HTTP toimii

  1. Selain lähettää pyynnön, jossa pyydetään haluttua palvelinsivua.
  2. Palvelin vastaanottaa pyynnön ja alkaa etsiä sivua.
  3. Selain saa palvelimelta vastauksen, jossa on pyynnön tulokset:
    • Pyydetyn sivun koodi ja palvelutiedot - jos sivu löytyy.
    • Virhekoodi ja huoltotiedot vian sattuessa.

Kun selain pyytää tiedostoa, pyyntö sisältää erityisen HTTP-komennon. Jos pyydetty tiedosto on todella olemassa palvelimella, tiedosto lähetetään. Mutta vastaanottavan sivun on päätettävä, näyttääkö tiedosto näytöllä, tallennetaanko se levylle vai tehdäänkö tulokselle jotain muuta.

HTTP-protokolla käyttää verkon resurssien tunnistamiseen globaaleja URI-tunnisteita. Ero HTTP:n ja muiden protokollien välillä on, että se ei tallenna tilaansa. Toisin sanoen pyyntö-vastaus-parin välistä tilaa ei tallenneta.

HTTP ei ole ainoa Internetissä käytetty protokolla. Käytetty myös:

  • FTP (File Transfer Protocol) on tiedostonsiirtoprotokolla.
  • POP (Post Office Protocol) ja SMTP (Simple Mail Transport Protocol) - sähköpostiviestien vaihtamiseen.
  • SHTTP (Secure Hypertext Transfer Protocol) on HTTP:n salattu versio. Tämän protokollan kautta lähetettävät tiedot on salattu. Yleensä turvallisuus on tärkeää, kun arkaluontoisia tietoja vaihdetaan.

Ja muut protokollat, joilla on yksi hyvä ominaisuus - ne kaikki toimivat huomaamatta sinun ja minä.

Maaliskuu 1991 - Tim Berners-Lee ehdotti HTTP:n käyttöä.

Berners-Lee kehitti kaikki ensimmäiset Internetiin liittyvät asiat: selaimen, palvelimen, hyperlinkit, ensimmäisen verkkosivuston (info.cern.ch Näet, miltä ensimmäinen verkkosivusto näytti seuraamalla linkkiä).

HTTP-versiot ovat parantuneet ajan myötä HTTP 1.1:stä on tullut suosittu, mikä mahdollistaa yhteyden jättämisen palvelimen ja selaimen välillä auki pitkäksi aikaa, mikä teki protokollasta tehokkaamman.

Vuonna 2015 ilmestyi HTTP/2, josta tuli binääri, ja tapa, jolla tiedot jaettiin fragmenteiksi, muuttui.

HTTP-suojaus

HTTP itsessään ei tarkoita tietojen salausta. Mutta on olemassa protokollalaajennus, joka voi pakata tietoja SSL- tai TLS-protokollaan.

HTTPS (S - Secure) on suosittu ratkaisu, joka ei salli siirretyn tiedon sieppaamista ja suojaa tietoa "man-in-the-middle" MITM- tai man-in-the-middle -hyökkäyksiltä.

MITM on pohjimmiltaan vioittunut puhelin, jonka tietoja muutetaan tarkoituksella. Asiakas tai palvelin eivät tiedä vaihdosta.

Mistä HTTP koostuu?

Olemme maininneet paljon, että palvelin ja asiakas lähettävät ja vastaanottavat pyyntöjä. Mitä nämä pyynnöt sitten sisältävät? Jokainen HTTP-viesti koostuu kolmesta osasta:

  1. Aloitusrivi, joka määrittää viestin tyypin.
  2. Otsikot, jotka kuvaavat viestin runkoa.
  3. Viestin runko, joka sisältää jo tarvittavat tiedot.

HTTP:n ominaisuuksien ansiosta he pystyivät luomaan hakukoneita, foorumeita ja verkkokauppoja. Kauppa tuli Internetiin, Internet-palveluntarjoajia ja muita yrityksiä, joiden toiminta tapahtuu Internetissä, alkoi ilmestyä. Ja kaikki kiitos HTTP-protokollan, jonka olet nyt hyvin tuttu.

Artikkeli paljastaa HTTP-protokollan olemuksen ja puhuu myös sen toiminnan eri järjestelmistä. Erityistä huomiota kiinnitetään selaimen ja palvelimen välisen vuorovaikutuksen olemukseen.

HTTP-toiminnan ydin

Ensinnäkin sinun tulee ymmärtää palvelimen ja käyttäjän selaimen välinen vuorovaikutusprosessi. Sivuston sivun näyttämiseksi näytöllä selain lähettää pyyntösignaalin palvelimelle, jonka jälkeen palvelimelta tulee sivuston koodattu sisältö, joka muunnetaan sivuston tavalliseksi näkymään. Tämän prosessin opiskelu verkkokehittäjälle on tärkeää, koska ymmärtämällä prosessin olemuksen voit nopeuttaa resurssi suorituskykyä.

Tiedonvaihto palvelimen ja selaimen välillä tapahtuu kautta HTTP-protokolla. Selain itse ohjelmoinnin näkökulmasta on HTTP-asiakas, koska se käyttää tätä protokollaa pyyntöjen lähettämiseen ja vastaustietojen vastaanottamiseen.

Paljastetaan nyt HTTP-protokollakonseptin ydin

HTTP (Hypertext Transfer Protocol)– prosessi, jonka mukaan kaikenlainen tiedonvaihto suoritetaan World Wide Webissä.

Meitä web-kehittäjinä kiinnostaa vain tiedon vaihto- ja näyttöprosessi.

Synkronoitu protokolla

Tiedonvaihto tapahtuu "asiakas-palvelin" -järjestelmän mukaisesti. Tässä mallissa asiakas on laite, joka lähettää pyynnön antaa tietoja, ja palvelin on järjestelmä, joka vastaanottaa pyynnön, käsittelee sen ja lähettää vastauksen takaisin asiakkaalle. Itse vuorovaikutusprosessi voidaan jakaa kahteen vaiheeseen: HTTP-pyynnön lähettämiseen ja HTTP-vastauksen vastaanottamiseen.

Pyyntöjä ja vastauksia ei voida lähettää samanaikaisesti; prosessin synkronointi on säilytettävä. Toisin sanoen vastauksen lähettäminen alkaa vasta sen jälkeen, kun pyynnön lähettäminen on mahdotonta. Selvyyden vuoksi piirretään analogia linja-auton kanssa: et voi käyttää sitä ennen kuin se saapuu pysäkille.

Miten pyyntö tehdään?

Pyynnön lähettäminen palvelimelle voidaan jakaa useisiin osiin:

  1. Ensin tehdään DNS-pyyntö, jonka on muutettava sivuston osoite URI-muodosta IP-osoitteeksi (URI-osoitteen numeerinen muoto). Tämä on World Wide Webissä käytetty osoitemuoto.
  2. IP-osoitteen määrittämisen jälkeen muodostetaan yhteys palvelimen ja HTTP-asiakkaan välille.
  3. Pyynnön välittäminen eteenpäin.
  4. Viive, joka sisältää tiedon lähettämisen palvelimelle, sen käsittelyn ja vastauksen lähettämisen pyyntöön. Ohjelmoijat kutsuvat tätä ajanjaksoa odottamaan vastausta.
  5. Vastaanottaminen pyyntöön.

Voit seurata kaikkia näitä vaiheita selaimesi verkkokehittäjäpaneelin avulla.

Kaikkien vaiheiden luettelosta ensimmäinen on melko pitkä. Protokollan kehittämisen alussa HTTP käytti vanhentunutta tietojenkäsittelymenetelmää, joka mahdollisti yhteyden katkaisun, kun vastaus vaadittuun pyyntöön oli saatu. Tämä hidasti suuresti Internet-tilassa työskentelyä. Kuitenkin sen jälkeen, kun protokollan uusi standardointi julkaistiin HTTP versio 1.1, uusi yhteystila on tullut saataville - pitää hengissä, jonka mukaan yhteydestä on tullut erottamaton. Tämän seurauksena ensimmäisen pyynnön käsittelyn jälkeen sinun ei tarvitse käydä ensimmäistä vaihetta uudelleen läpi, vaan siirtyä välittömästi toiseen.

Muistilappu

Yhteys ylläpidetään vain yhden verkkoresurssin sisällä. Kun siirrytään toiseen isäntään, yhteys katkeaa ja ensimmäisestä vaiheesta tulee jälleen olennainen osa pyynnön käsittelyprosessia.

Protokollan pisin prosessi odottaa vastausta. Tässä tapauksessa määrittelyn päivittäminen ei lyhennä käsittelyaikaa mitenkään. Myöskään sen laitteen teho, jonka kautta resurssi tuotetaan, ei vaikuta tähän prosessiin millään tavalla. Tietokoneet tulevat prosessiin vasta loppuvaiheessa, kun vastaus on saapunut ja se on käsiteltävä.

Tämä työmuoto vähentää sivustojen mahdollisuudet nollaan kilpailla työpöytäsovellusten kanssa. Tämä tuo esiin ensimmäisen tavan nopeuttaa verkkosivustoa - sinun on minimoitava koodiin kirjoitetun palvelimen puheluiden määrä.

Rinnakkais HTTP-yhteys

Pitkän viiveen ja isäntäkoneen kanssa tapahtuvan viestinnän katkosten ongelman ratkaisemiseksi luotiin rinnakkaisviestintämalli asiakkaan ja palvelimen välille. Toisin sanoen voit samanaikaisesti muodostaa yhteyden useisiin isänteihin. Vakiokehittäjät HTTP 1.1 On suositeltavaa liittää enintään 2 liitäntäkanavaa samanaikaisesti. Mutta on pidettävä mielessä, että erittely juontaa juurensa muinaisten dinosaurusten ajalta. Nyt selaimet tukevat helposti kommunikointia 4 kanavalla samanaikaisesti oletusarvoisesti, ja jos perehdyt asiakasasetuksiin, tämä luku voidaan nostaa 8:aan.

Jokainen kanava toimii vanhan kytkentämallin mukaan, mutta niiden määrän kasvu on johtanut merkittäviin muutoksiin resurssien latausajassa.

Putkilinjan HTTP-yhteys

Tekniikan kehittyessä palvelimen ja selaimen välinen vuorovaikutusprosessi alkoi kehittyä merkittävästi. Merkittävä läpimurto tässä asiassa oli putkimallin luominen pyyntöjen lähettämiseksi palvelimelle (alkuperäisessä - HTTP-liukuhihna). Tämän järjestelmän mukaan tuli mahdolliseksi lähettää useita pyyntöjä yhden kanavan kautta odottamatta vastausta niihin. Palvelin puolestaan ​​alkoi lähettää vastauksia jokaiseen pyyntöön tärkeysjärjestyksessä.

Tämän innovaation ansiosta on myös mahdollista vähentää niiden määrää TCP/IP-paketit. Voit siis sijoittaa useita yhteen tällaiseen pakettiin HTTP-pyynnöt. Tämän seurauksena ei vain protokollan toiminta parane, vaan myös koko Internetin tehokkuus paranee.

Yhteenveto

Tällä hetkellä erittely HTTP 1.1 on moraalisesti vanhentunut sääntö. Sen modernisointityö on jatkunut jo jonkin aikaa HTTP-NG Ja SPDY. Kehittää HTTP Se on mahdollista myös parantamalla verkkosivujen ohjelmointikieltä HTML5. Kaikki nämä prosessit nopeuttavat protokollan toimintaa, mutta sääntö palvelimen käytön minimoimisesta, mikä lisää resurssin nopeutta, on aina merkityksellinen.

HTTP-protokolla (HyperText Transfer Protocol) on sovellustason protokolla, joka välittää sovelluksia hajautetuissa, yhteistoiminnallisissa tai heterogeenisissä tietojärjestelmissä. Protokollan avulla sovellukset voivat vaihtaa tietoja, jotka on esitetty ihmisen luettavassa muodossa.

Kuten nimestä voi päätellä, HTTP oli alun perin tarkoitettu siirtämään sovellusten välillä niin sanottua hypertekstiä, joka on HTML-standardin (HyperText Markup Language) mukaisesti luotu erikoistietotyyppi. Hypertekstidokumentti koostuu HTML-tunnisteilla merkityistä tiedoista ja se on yhdistelmä tekstiä, kuvia, hyperlinkkejä ja muita tiedon esittämistapoja. Hyperlinkit, yksi HTML-dokumentin tärkeimmistä osista, ovat vuorovaikutteisia alueita, jotka toimiessaan tuottavat hyperlinkkiin liittyvää dataa. Tämän ansiosta hypertekstitietoja käsittelevä käyttäjä voi navigoida asiakirjojen tai jopa koko Internetin sisällä ja hankkia kiinnostavaa tietoa kontekstuaalisten hyperlinkkien avulla.

HTTP-protokolla on TCP-protokollan lisäosa, ja se on keino ohjata lähetetyn tiedon sisältöä. Toisin kuin TCP, joka ei ottanut huomioon lähetettyjen pakettien rakennetta, HTTP upottaa dataan metainformaatiota, jolloin vastaanottaja voi tulkita vastaanottamansa tiedot oikein. Globaali Internet (tunnetaan myös nimellä World Wide Web tai WWW) toimii HTTP:n pohjalta. Protokollan ensimmäisellä versiolla - HTTP/0.9 - oli melko rajalliset ominaisuudet, mutta World Wide Webin aktiivisen kehityksen myötä ilmestyi uudet versiot: HTTP/1.0 ja HTTP/1.1, joiden avulla voidaan hallita paitsi lähetystä hypertekstitiedot tietokoneverkkojen kautta, mutta myös mielivaltaiset binaaritiedostot: ääni, grafiikka, arkisto jne.

Koska HTTP on TCP-protokollan ylärakenne, tiedonsiirrolla on myös kaksi puolta: asiakas ja palvelin.

Asiakas aloittaa yhteyden ja pyytää joitain tietoja tai palveluita palvelimelta. Asiakas on pääsääntöisesti selain-niminen ohjelma, joka mahdollistaa sekä hypertekstitietojen näyttämisen että muiden tiedostomuotojen hyväksymisen. Saadakseen joitakin kiinnostavia tietoja asiakas lähettää palvelimelle pyynnön, joka sisältää kuvauksen pyydetyistä tiedoista.

Palvelinta, kun dataa siirretään HTTP:n kautta, kutsutaan verkkopalvelimeksi. Tämä ohjelma käsittelee asiakkaiden pyynnöt ja välittää pyydetyt tiedot vastausten muodossa sisältäen vaadittujen tietojen lisäksi niitä kuvaavia metatietoja.

Se, että käyttäjä saa häntä kiinnostavat tiedot, koostuu seuraavista vaiheista:

Käyttäjä syöttää selainriville sen resurssin osoitteen, josta hän on kiinnostunut.

Selain generoi pyynnön käyttäjältä saatujen tietojen perusteella sekä ottaen huomioon sen asetukset ja käyttöjärjestelmän kokoonpanon.

Selain muodostaa yhteyden palvelimeen, joka mahdollisesti sijaitsee etätietokoneessa, ja lähettää sille pyynnön.

Pyyntöä analysoiva palvelin suorittaa tarvittavat toimenpiteet: luo vastauksen, joka sisältää pyydetyn asiakirjan rungon. Jos se on hypertekstiasiakirja, se ladataan tiedostosta tai luodaan dynaamisesti komentosarjan avulla. Vastaus sisältää myös tiedot sen sisältämistä tiedoista.

Palvelin lähettää vastauksen selaimelle.

Selain jäsentää vastauksen ja joko tallentaa tuloksena saadut tiedot tiedostoon tai hypertekstidokumentin tapauksessa jäsentää HTML-tunnisteet ja näyttää asiakirjan näytöllä.

On huomattava, että asiakasohjelma ei voi olla vain selain, mutta kaikki vaiheet, mahdollisesti ensimmäistä lukuun ottamatta, suoritetaan joka tapauksessa.

On huomioitava, että tässä tarkastellaan asiakkaan suoraa yhteyttä kiinnostavan tiedon sisältävään palvelimeen, mutta se ei ole aina mahdollista eri olosuhteiden vuoksi. Tässä tapauksessa yhteys voidaan tehdä yhden tai useamman väliliitospisteen kautta. Nämä välipisteet voidaan jakaa kolmeen ryhmään:

Välityspalvelimet (proxy-server) ovat välitysohjelma, joka suorittaa sekä asiakkaan että palvelimen toimintoja pyyntöjen luomiseksi muiden asiakkaiden puolesta. Pyynnöt palvelee välityspalvelin tai ne välitetään sille tehtyjen muutosten kanssa (tässä tapauksessa välityspalvelinta kutsutaan läpinäkymättömäksi) tai ilman muutoksia (tässä tapauksessa välityspalvelinta kutsutaan läpinäkyväksi). Välityspalvelin mahdollistaa ryhmän tietokoneiden toimimisen yhtenä asiakkaana, jota käytetään usein paikallisten verkkojen yhteydessä Internetiin.

Yhdyskäytävä - kuten välityspalvelin, se lähettää pyyntöjä, mutta en muuta niitä. Yhdyskäytävä vastaanottaa pyynnön asiakkaalta ikään kuin se olisi pyydetyn resurssin sisältävä palvelin. Näin ollen asiakas ei voi määrittää, muodostaako se yhteyden yhdyskäytävän kautta vai suoraan resurssin sisältävään palvelimeen.

Tunneli on väliohjelma, joka ylläpitää yhteyttä. Vaikka tunnelia ei pidetä osana HTTP-siirtoa, kun yhteys on muodostettu, yhteys tyypillisesti aloitetaan HTTP-pyynnöllä. Tunneli lopettaa toimintansa, jos ainakin yksi tiedonvaihdon osallistujista sulkee yhteyden.

Tiedonsiirron toimivuuden säilyttämiseksi välipisteiden kautta muodostettaessa pyyntöihin ja vastauksiin ei vaadita muutoksia, paitsi välityspalvelimen tapauksessa: tässä tapauksessa asiakaspyynnön tulee sisältää lisäkenttiä. Palvelimen näkökulmasta tiedot kuitenkin vaihdetaan suoraan asiakkaan kanssa, joten pyyntöihin ei tapahdu muutoksia. Siksi ohjelmaa kehitettäessä ei otettu huomioon mahdollisuutta muodostaa yhteys välipisteiden kautta.

Asiakkaan palvelimelle lähettämä pyyntö palvelee pyydetyn resurssin tarkkaa tunnistamista ja sisältää myös pyynnön oikeaan käsittelyyn tarvittavat tiedot.

Pyynnön rakenne koostuu kolmesta osasta:

Kyselymerkkijono

Otsikkolohko

Pyyntörivi koostuu kolmesta välilyönnillä erotetusta kentästä (ASCII-koodi 20h, jäljempänä SP), ja se päättyy kahden merkin yhdistelmään: rivinvaihto (ASCII-koodi 0Dh, jäljempänä CR) ja rivinvaihto (ASCII-koodi 0Ah, jäljempänä LF) . Kyselymerkkijonoelementtejä edustavat seuraavat kentät:

Method - määrittää pyydettyyn resurssiin sovellettavan käsittelytavan. Määritetystä menetelmästä riippuen pyynnön muoto voi olla erilainen. Kelvolliset menetelmät:

Ohjelman kehittämisen aikana otettiin käyttöön tuki vain GET-menetelmälle, koska selain määrittää oletusarvoisesti tämän menetelmän.

URI (Universal Resource Identifier) ​​-resurssi (resurssin URI) - osoittaa pyydetyn resurssin sijainnin standardoidussa muodossa, eli se on resurssin osoite. Käytettäessä GET-menetelmää tämä merkkijono voi sisältää joukon parametreja, jotka välitetään palvelimelle merkkijonojen muodossa muodossa "parametrin_nimi = parametrin_arvo", erotettuina et-merkillä `&. Parametrilohko sijaitsee tiedoston lopussa. URI-merkkijono ja erotetaan osoitteesta kysymysmerkkimerkillä "?".

HTTP-protokollan versio - ohjelman kehittämisen aikana otettiin käyttöön tuki versioita 1.0 ja 1.1 vastaavien pyyntöjen vastaanottamiselle, jotka vastaavat rivejä "HTTP/1.0" ja "HTTP/1.1".

Kyselyriviä seuraava otsikkolohko voi koostua yhdestä tai useammasta otsikosta:

Pyynnön otsikko - sisältää kenttiä, jotka toimivat pyynnön muokkaajina ja sisältävät tietoja pyynnöstä ja asiakaskoneen määrityksistä.

Objektin otsikko - jos pyyntö sisältää jonkin objektin (mielivaltainen tietojoukko), tämän otsikon kentät kuvaavat objektia, osoittaen sen muodon, koodauksen ja muut parametrit.

Yleinen otsikko - sisältää palveluparametreja, jotka ovat tarpeen siirron oikeellisuuden varmistamiseksi ja lisäpalvelujen, kuten välimuistin, mahdollistamiseksi.

Otsikkoosio päättyy kahteen merkkipariin CR ja LF, mikä tekee pyynnön vastaanottamisen toteamisesta helppoa, koska pyyntö itsessään ei voi sisältää tällaista merkkiyhdistelmää.

Palvelimen asiakkaalle lähettämä vastaus voidaan tuottaa vain käsittelemällä asiakkaan pyyntö. Se sisältää kuvauksen kyselyn tuloksista, ja jos tietoja pyydettiin, se sisältää pyydetyn resurssin.

Vastauksen rakenne koostuu seuraavista osista:

Tilapalkki

Otsikkolohko

Tilarivi koostuu kolmesta SP-merkeillä erotetusta kentästä ja sisältää CR-, LF-merkkien sarjan lopussa. Tilapalkin elementit:

HTTP-protokollan versio - kehitetty ohjelma käyttää aina merkkijonoa “HTTP/1.1”.

Tilakoodi on kolmimerkkinen numeerinen koodi, joka tunnistaa pyynnön tuloksen. Vaikka standardi määrittelee melko suuren joukon tilakoodeja, ohjelmassa käytetään seuraavia koodeja:

  • 200 - onnistunut toteutus;
  • 400 - virheellinen pyyntö;
  • 401 - luvaton pääsy;
  • 404 - resurssia ei löydy;
  • 405 - ei sovelleta menetelmää;
  • 505 - HTTP-versiota ei tueta.

Syylauseke – lyhyt lause, joka selittää pyynnön suorittamisen tilakoodin. Standardi tarjoaa vakiojoukon lauseita, mutta ohjelmassa tätä joukkoa on hieman muokattu.

Tilariviä seuraava otsikkolohko voi koostua yhdestä tai useammasta otsikosta:

Pyynnön otsikko

Objektin otsikko

Yleinen otsikko

Otsikkoja käsiteltiin yksityiskohtaisesti kohdassa 2.2.3.3.

Otsikkoosio päättyy kahteen merkkipariin CR ja LF, joita seuraa mielivaltainen merkkijoukko - objekti. Kun ohjelma on käynnissä, tällaiset objektit voivat olla vain HTML-muodossa olevia hypertekstidokumentteja, jotka on dynaamisesti luotu laajennuksilla.

Olemme julkaisseet uuden kirjan Sosiaalisen median sisältömarkkinointi: Kuinka saada seuraajiesi pään sisälle ja saada heidät rakastumaan brändiisi.

Tilaa

HTTP mahdollistaa tietojen siirron. Alun perin se luotiin sellaisten asiakirjojen lähettämiseen ja vastaanottamiseen, jotka sisälsivät linkkejä kolmannen osapuolen resursseihin siirtymistä varten.

Lyhenne kuuluu "HyperText Transfer Protocol", joka käännettynä tarkoittaa "siirtoprotokollaa". HTTP kuuluu sovelluskerrosryhmään OSI:n käyttämien tietojen perusteella.

Ymmärtääksemme paremmin, mitä HTTP tarkoittaa, katsotaanpa yksinkertaista analogiaa. Kuvittele, että kommunikoit ulkomaalaisen kanssa sosiaalisessa verkostossa. Hän lähettää sinulle viestin englanniksi, saat sen. Mutta et voi ymmärtää sisältöä, koska et puhu kieltä hyvin. Käytä sanakirjaa viestin tulkitsemiseen. Kun olet ymmärtänyt olemuksen, vastaat ulkomaalaiselle venäjäksi ja lähetät vastauksen. Ulkomaalainen saa vastauksen ja tulkitsee viestin kääntäjän avulla. Koko mekanismin yksinkertaistamiseksi Internet-protokollat ​​HTTP suorittavat kääntäjän toiminnon. Niiden avulla selain voi kääntää verkkosivujen salatun sisällön ja näyttää niiden sisällön.

Mitä varten HTTP on?

HTTP-protokollaa käytetään tietojen vaihtamiseen asiakas-palvelin-mallin avulla. Asiakas laatii ja lähettää pyynnön palvelimelle, jonka jälkeen palvelin käsittelee ja analysoi sen, minkä jälkeen luodaan vastaus ja lähetetään käyttäjälle. Tämän prosessin lopussa asiakas antaa uuden komennon, ja kaikki toistuu.

Siten HTTP-protokollan avulla voit vaihtaa tietoja eri käyttäjäsovellusten ja erityisten verkkopalvelimien välillä sekä muodostaa yhteyden verkkoresursseihin (yleensä selaimiin). Nykyään kuvattu protokolla varmistaa koko verkon toiminnan. HTTP-tiedonsiirtoprotokollaa käytetään myös tiedon siirtämiseen muiden alemman tason protokollien, esimerkiksi WebDAV:n tai SOAP:n, kautta. Tässä tapauksessa protokolla on kuljetusväline. Monet ohjelmat luottavat myös HTTP:hen ensisijaisena tiedonvaihdon työkaluna. Tiedot esitetään eri muodoissa, esimerkiksi JSON tai XML.

HTTP on protokolla tietojen vaihtamiseen IP/TCP-yhteyden kautta. Tyypillisesti palvelin käyttää tähän tarkoitukseen TCP-porttia 80. Jos porttia ei ole määritetty, asiakasohjelmisto käyttää oletuksena TCP-tyyppistä porttia 80. Joissakin tapauksissa voidaan käyttää muita portteja.

HTTP-protokolla käyttää symmetristä salausjärjestelmää ja symmetrisiä salausjärjestelmiä. Symmetrisissä salausjärjestelmissä käytetään samaa avainta tiedon salaamiseen ja salauksen purkamiseen.

Mitä eroa on HTTP:llä ja HTTPS:llä

Ero voidaan havaita jopa lyhenteiden dekoodauksesta. HTTPS tulee sanoista Hypertext Transfer Protocol Security. Siten HTTP on itsenäinen protokolla, ja HTTPS on laajennus sen suojaamiseksi. HTTP lähettää tietoja suojaamattomana, kun taas HTTPS tarjoaa salaussuojauksen. Tämä koskee erityisesti resursseja, joilla on vastuullinen valtuutus. Nämä voivat olla sosiaalisia verkostoja tai maksujärjestelmien sivustoja.

Mitkä ovat suojaamattomien tietojen siirtämisen vaarat? Sieppausohjelma voi siirtää ne hyökkääjille milloin tahansa. HTTPS:llä on monimutkainen tekninen organisaatio, jonka avulla voit suojata tiedot luotettavasti ja estää luvattoman pääsyn niihin. Ero on porteissa. HTTPS toimii yleensä portissa 443.

Siten HTTP:tä käytetään tiedonsiirtoon, ja HTTPS mahdollistaa turvallisen tiedonsiirron käyttämällä salausta ja valtuutusta korkeatasoisille resursseille.

Lisätoiminnot

HTTP:llä on runsaasti toimintoja ja se on yhteensopiva useiden laajennusten kanssa. Nykyään käytetty 1.1-spesifikaatio mahdollistaa Upgrade-otsikon käytön muiden protokollien vaihtamiseen ja työskentelyyn tietojen vaihdon aikana. Tätä varten käyttäjän on lähetettävä pyyntö palvelimelle tällä otsikolla. Jos palvelimen on vaihdettava tiettyyn keskukseen käyttämällä eri protokollaa, se palauttaa asiakkaalle pyynnön, joka näyttää tilan "426 Päivitys vaaditaan".

Tämä ominaisuus on erityisen tärkeä tiedonvaihdossa WebSocketin kautta (sillä on RFC 6455 -spesifikaatio, jonka avulla voit vaihtaa tietoja milloin tahansa ilman tarpeettomia HTTP-pyyntöjä). Siirtyäkseen WebSocketiin yksi käyttäjä lähettää pyynnön, jossa on Upgrade-otsikko ja arvo "websocket". Seuraavaksi palvelin vastaa "101 Switching Protocols". Tämän hetken jälkeen alkaa tiedonsiirto WebSocketin kautta.