În acest articol, vă voi prezenta cum funcționează rețeaua web la un nivel fundamental.

Tehnologia de bază este HTTP – Hypertext Transfer Protocol. Este protocolul de comunicare pe care îl utilizați atunci când navigați pe web.

La un nivel fundamental, atunci când vizitați un site web, browserul dvs. face o cerere HTTP către un server. Apoi, acel server răspunde cu o resursă (o imagine, un videoclip sau codul HTML al unei pagini web) – pe care browserul dvs. o afișează apoi pentru dvs.

Acesta este modelul HTTP bazat pe mesaje. Fiecare interacțiune HTTP include o solicitare și un răspuns.

Prin natura sa, HTTP este apatrid.

Fara stare înseamnă că toate cererile sunt separate unele de altele. Deci, fiecare solicitare din browserul dvs. trebuie să conțină suficiente informații pentru ca serverul să poată îndeplini solicitarea. Asta înseamnă, de asemenea, că fiecare tranzacție a modelului HTTP bazat pe mesaje este procesată separat de celelalte.

URL-uri

URL-ul (Uniform Resource Locator) este probabil cel mai cunoscut concept al web-ului. Este, de asemenea, unul dintre cele mai importante și utile concepte. O adresă URL este o adresă web utilizată pentru identificarea resurselor de pe web.

Ideea web este structurată în jurul resurselor. De la începuturile sale, Web-ul a fost platforma pentru partajarea de fișiere text / HTML, documente, imagini etc.

O introducere in HTTP tot ce trebuie sa stiti
Exemplu de adresă URL

Protocol – Cel mai adesea sunt HTTP (sau HTTPS pentru o versiune securizată a HTTP).

Alte protocoale notabile sunt:

  • Protocolul de transfer de fișiere (FTP) – este un standard protocol utilizat pentru transfer fișiere între un client și un server pe o rețea.
  • Simple Mail Transfer Protocol (SMTP) este un standard pentru transmiterea e-mailului.

Domeniu– Nume care este utilizat pentru a identifica una sau mai multe adrese IP unde se află resursa.

cale —Specifică locația resursei pe server. Folosește aceeași logică ca o locație a resurselor folosită pe dispozitivul pe care citiți acest articol (adică /search/cars/VWBeetle.pdf sau C: / my cars / VWBeetle.pdf).

Parametrii– Date suplimentare utilizate pentru a identifica sau filtra resursa de pe server.

Notă: Când căutați articole și mai multe informații despre HTTP, puteți întâlni termenul URI (sau identificator uniform al resurselor). URI este uneori folosit în loc de URL, dar mai ales în specificații formale și de către oameni care doresc să se prezinte. 🙂

Solicitări HTTP

În HTTP, fiecare solicitare trebuie să aibă o adresă URL. În plus, cererea are nevoie de o metodă. Cele patru metode principale HTTP sunt:

  • OBȚINE
  • A PUNE
  • POST
  • ȘTERGE

Voi explica aceste metode și multe altele, în secțiunea Metode HTTP din acest articol.

Și aceste metode corespund direct acțiunilor:

  • citit
  • Actualizați
  • crea
  • șterge

Toate mesajele HTTP au unul sau mai multe anteturi, urmate de un corp de mesaj opțional. Corpul conține datele care vor fi trimise odată cu solicitarea sau datele primite odată cu răspunsul.

Prima parte a fiecărei cereri HTTP conține trei elemente:

Exemplu:

  • GET / adaugă / caută-rezultat? Item = vw + gândac HTTP / 1.1

Când o adresă URL conține un „?” semn, înseamnă că conține o interogare. Asta înseamnă că trimite parametrii resursei solicitate.

  1. Prima parte este o metodă care indică ce metodă HTTP este utilizată. Cea mai frecvent utilizată este metoda GET. Metoda GET preia o resursă de pe serverul web și, din moment ce GET nu are un corp de mesaj, nu este nevoie de nimic după antet.
  2. A doua parte este o adresă URL solicitată.
  3. A treia parte este o versiune HTTP utilizată. Versiunea 1.1. este cea mai comună versiune pentru majoritatea browserelor, însă versiunea 2.0 preia.

Există, de asemenea, câteva alte lucruri interesante într-o cerere HTTP:

Antetul refererului– indică adresa URL de unde a apărut solicitarea.

Antetul User-Agent– informații suplimentare despre browserul utilizat pentru a genera solicitarea.

Antetul gazdei– identifică în mod unic un nume de gazdă; este necesar atunci când mai multe pagini web sunt găzduite pe același server.

Antetul cookie-urilor– trimite clientului parametri suplimentari.

Răspunsuri HTTP

La fel ca în cererile HTTP, răspunsurile HTTP constau și din trei elemente:

Exemplu:

HTTP / 1.1 200 OK

  1. Prima parte este versiunea HTTP utilizată.
  2. A doua parte este codul numeric al rezultatului pentru cerere.
  3. A treia parte este o descriere textuală a celei de-a doua părți.

Există câteva alte lucruri interesante într-un răspuns HTTP:

Antetul serverului– informații despre ce software de server web este utilizat.

Antet Set-Cookie– trimite cookie-ul către browser.

Conținutul mesajului– este obișnuit ca un răspuns HTTP să conțină un corp de mesaj.

Antet lungime conținut– indică dimensiunea corpului mesajului în octeți.

Metode HTTP

Cele mai comune metode sunt GET și POST. Dar sunt și alte câteva.

OBȚINE– Utilizați această metodă pentru a solicita date de la o resursă specificată în cazul în care datele nu sunt modificate în niciun fel. Solicitările GET nu modifică starea resursei.

POST– Utilizați această metodă pentru a trimite date către un server pentru a crea o resursă.

A PUNE –Utilizați această metodă pentru a actualiza resursa existentă pe un server utilizând conținutul din corpul cererii. Gândiți-vă la aceasta ca la o modalitate de a „edita” ceva.

CAP– Utilizați această metodă în același mod în care utilizați GET, dar cu distincția că returnarea unei metode HEAD nu ar trebui să conțină corp în răspuns. Dar returnarea va conține aceleași anteturi ca și cum ar fi folosit GET. Folosiți metoda HEAD pentru a verifica dacă resursa este prezentă înainte de a efectua o solicitare GET.

URMĂ –Utilizați această metodă în scopuri de diagnostic. Răspunsul va conține în corpul său conținutul exact al mesajului de solicitare.

OPȚIUNI– Utilizați această metodă pentru a descrie opțiunile de comunicare (metode HTTP) care sunt disponibile pentru resursa țintă.

PATCH –Utilizați această metodă pentru a aplica modificări parțiale unei resurse.

ȘTERGE –Folosiți această metodă pentru a șterge resursa specificată.

ODIHNĂ

Transferul de stare reprezentativă (REST) ​​este un stil de arhitectură în care solicitările și răspunsurile conțin reprezentări ale stării curente a resursei sistemelor.

Mod „regulat”:

Stil REST:

Puteți afla mai multe despre REST aici dacă sunteți curioși.

Anteturi HTTP

Există trei componente principale care alcătuiesc structura cerere / răspuns. Acestea includ:

  • Prima linie
  • Anteturi
  • Corp / Conținut

Am vorbit deja despre prima linie în solicitări și răspunsuri HTTP și a fost menționată și funcția corpului. Acum vom vorbi despre anteturile HTTP.

Anteturile HTTP sunt adăugate după prima linie și sunt definite ca perechi nume: valoare separate prin două puncte. Anteturile HTTP sunt utilizate pentru a trimite parametri suplimentari împreună cu cererea sau răspunsul.

După cum am spus deja, corpul mesajului include datele care trebuie trimise împreună cu cererea sau datele primite împreună cu răspunsul.

Există diferite tipuri de anteturi care sunt grupate pe baza utilizării lor în 4 mari categorii:

  • Antet general– Anteturi care pot fi utilizate atât în ​​solicitări, cât și în mesaje de răspuns și care sunt independente de datele schimbate.
  • Cerere antet– Aceste anteturi definesc parametri pentru datele solicitate sau parametri care oferă informații importante despre clientul care face cererea.
  • Antet de răspuns– Aceste anteturi conțin informații despre răspunsul primit.
  • Antetul entității– Anteturile entității descriu conținutul care alcătuiește corpul mesajului.
1612144569 980 O introducere in HTTP tot ce trebuie sa stiti
Tipuri de anteturi

Coduri de stare HTTP

Navigând pe web, este posibil să fi întâlnit pagini cu „eroare 404: nu a fost găsită” sau pagini „500 de erori: serverul nu răspunde”.

Acestea sunt coduri de stare HTTP.

Fiecare mesaj de răspuns HTTP trebuie să conțină un cod de stare HTTP în prima linie, indicându-ne rezultatul cererii.

O introducere in HTTP tot ce trebuie sa stiti

Există cinci grupuri de coduri de stare care sunt grupate după prima cifră:

  • 1xx – Informativ.
  • 2xx – Solicitarea a avut succes.
  • 3xx – Clientul este redirecționat către o altă resursă.
  • 4xx – Cererea conține o eroare de un fel.
  • 5xx – Serverul a întâmpinat o eroare la îndeplinirea cererii.

Iată o listă completă a codurilor de răspuns la starea HTTP și explicația lor.

HTTPS (Hypertext Transfer Protocol Secure)

Versiunea securizată a protocolului HTTP este HyperText Transfer Protocol Secure (HTTPS). HTTPS oferă comunicații criptate între un browser (client) și site-ul web (server).

În HTTPS, protocolul de comunicație este criptat folosind Transport Layer Security (TLS) sau Secure Sockets Layer (SSL).

Prin urmare, protocolul este denumit adesea HTTP peste TLS sau HTTP prin SSL.

Atât protocoalele TLS, cât și cele SSL utilizează un sistem de criptare asimetric. Sistemele de criptare asimetrice folosesc o cheie publică (cheie de criptare) și o cheie privată (chei de decriptare) pentru a cripta un mesaj.

Oricine poate folosi cheia publică pentru a cripta un mesaj. Cu toate acestea, cheile private sunt secrete și asta înseamnă că numai destinatarul destinat poate decripta mesajul.

O introducere in HTTP tot ce trebuie sa stiti
Exemplu de sistem de criptare asimetric

Strângere de mână SSL / TLS

Când solicitați o conexiune HTTPS la un site web, site-ul web trimite certificatul SSL browserului dvs. Procesul în care browserul și site-ul web inițiază comunicarea se numește „strângere de mână SSL / TLS”.

Strângerea de mână SSL / TLS implică o serie de pași în care browserul și site-ul web se validează reciproc și încep comunicarea prin tunelul SSL / TLS.

După cum probabil ați observat, atunci când un tunel securizat de încredere este utilizat în timpul unei conexiuni HTTPS, pictograma lacăt verde este afișată în bara de adrese a browserelor.

1612144570 53 O introducere in HTTP tot ce trebuie sa stiti
Exemplu de una dintre paginile mele sigure

Avantajele HTTPS

Avantajele majore ale unui HTTPS sunt:

  • Informațiile despre clienți, cum ar fi numerele cardului de credit și alte informații sensibile, sunt criptate și nu pot fi interceptate.
  • Vizitatorii pot verifica dacă sunteți o companie înregistrată și că dețineți domeniul.
  • Clienții știu că nu trebuie să viziteze site-uri fără HTTPS și, prin urmare, sunt mai predispuși să aibă încredere și să finalizeze achizițiile de pe site-urile care utilizează HTTPS.

Mulțumesc că ai citit! Consultați mai multe articole de acest gen în profilul meu Routech. Și verificați alte lucruri distractive pe care le construiesc pe pagina mea GitHub.