Scurtă descriere a protocolului HTTP. Redirecționări folosind HTTPS

ÎN retea globala escrocii și hackerii încearcă să fure în fiecare zi Informații personale. În trecut, phishingul era considerată cea mai populară metodă de furt. Atacatorul înlocuiește site-ul inițial, iar datele de la utilizator cad în mâinile lui (parole, numere de card, mesaje personale etc.). Pentru a rezolva această problemă, am creat o conexiune HTTPS securizată. Prin urmare, administratorii site-ului sunt adesea preocupați de întrebarea cum să creeze și să configureze o conexiune https securizată.

și de ce este nevoie

Înainte de a vă muta site-ul la o conexiune HTTPS, ar trebui să înțelegeți ce este și cum funcționează. HTTPS este o versiune securizată a protocolului HTTP (Hypertext transmite datele necesare pentru ca paginile să funcționeze (numele browserului, rezoluția ecranului, prezența Cookie-urilor etc.).

HTTP este folosit de dezvoltatori pentru a trimite și primi variabile fără acest protocol, site-urile web nu vor putea funcționa. Toate fișierele transferate prin HTTP puteau fi interceptate anterior cu ușurință folosind un site web fals (phishing).

Anterior, parolele, datele de conectare, numerele cardurilor, mesajele secrete și alte lucruri erau furate folosind o metodă similară. informatii importante. Pentru a proteja utilizatorii de phishing, aceștia au fost inventați Certificat SSL s și verificarea autenticității acestora înainte de a începe schimbul de informații.

HTTPS trebuie utilizat pe site-urile bancare sau magazine online. Dacă aceste resurse nu sunt disponibile, browserul va refuza conexiunea și va fi afișat un avertisment de pericol. Ca urmare, site-ul va pierde încrederea utilizatorilor săi.

Ce este un certificat SSL/TLS

Principala inovație în HTTPS este utilizarea obligatorie a unui certificat SSL digital. Acesta este un fișier în care sunt stocate toate informațiile (adresa IP a serverului, țara site-ului, e-mailul proprietarului etc.). Document digital este criptat pe serverul site-ului și pe serverul autorității de certificare (GoDaddy, Comodo etc.). La fiecare conexiune, aceste fișiere sunt comparate, iar dacă sunt aceleași, conexiunea continuă. În caz contrar, apare un avertisment de securitate.

Mulți cititori nu știu cum să facă o conexiune https securizată. Primul pas este să obțineți un certificat SSL de la o autoritate de încredere. Sunt diferite tipuri aceste documente:

  • DV - confirmați doar domeniul (pentru site-uri și bloguri mici).
  • OV - domeniul și organizarea sunt verificate.
  • EV - verificare extinsă (în browser vor apărea o bară verde și un lacăt).

Opțiunea EV este considerată cea mai preferată pentru magazine și bănci. Urmează clarificări suplimentare sub forma:

Pentru majoritatea site-urilor, este suficient să utilizați un certificat DV SSL. Este ieftin și garantează protecție împotriva phishingului.

Cum se transferă un site la o conexiune securizată

Din ce în ce mai mulți proprietari afaceri online Sunt interesat de cum să creez o conexiune https securizată. Pentru a face acest lucru, va trebui să faceți câteva modificări codul programului pagini. Cel mai important lucru este să scrii regula suplimentaraîn fișierul .htaccess. Conține cod pentru setări Apache server web.

Majoritatea furnizorilor de găzduire vă permit să configurați un certificat SSL pentru server prin intermediul panoului de control. Consultați furnizorul dvs. de servicii pentru detalii despre cum să faceți acest lucru. Întregul proces de traducere a site-ului web poate fi împărțit în următoarele etape:

  1. Obținerea unui certificat SSL.
  2. Instalarea unui certificat pe server.
  3. Modificarea linkurilor interne ale site-ului.
  4. Configurarea redirecționării către portul 301.
  5. Schimbarea gazdelor în robots.txt.

Dacă este folosit găzduiri plătite tastați beget, apoi contactați asistența cu un certificat și toate acțiunile ulterioare vor fi efectuate de lucrătorii de service. Cea mai dificilă etapă în a răspunde la întrebarea cum să faci conexiune https, este o setare, deoarece majoritatea scripturilor nu ajută.

Obținerea unui certificat și instalarea acestuia pe server

Acum că ne-am dat seama teoretic cum să facem o conexiune https, să trecem la acțiune. Primul pas este să obțineți un certificat SSL de la unul dintre centrele de încredere. Puteți găsi multe pe Internet diverse opțiuniîn moduri diferite interval de preț. În prezent, a primi document gratuit sunt 2 centre:

  • WoSign.
  • Startssl.

Alte servicii necesită plată. Suma depinde de tipul de certificat și de acesta caracteristici suplimentare(multi-domeniu, suport pentru browsere mai vechi etc.). Autorități de certificare:

  • Reg.ru.
  • Godaddy.
  • Gazdă.
  • Symantec.
  • Comodo.
  • GlobalSign.
  • Thawte.

În plus, unii furnizori de găzduire oferă utilizatorilor lor certificate SSL la achiziționarea unui anumit plan tarifar. Site-ul web de certificare descrie în detaliu acțiunile necesare. Dar întreaga procedură constă din următorii pași:

  • generarea unei cereri CSR;
  • completarea e-mailului site-ului (admin@[adresa site-ului]);
  • completarea informațiilor despre proprietarul domeniului (pentru documentele EV și OV).

Solicitarea CSR include date generale pentru verificare (organizație, oraș, regiune, țară). După completarea informațiilor, utilizatorul primește 2 coduri ( cheie secretăși codul CSR), asigurați-vă că le salvați într-un document separat. Trimite acest cod pentru a primi un certificat SSL și pentru a aștepta ca acesta să fie emis de la centru.

Acum accesați site-ul web de găzduire și găsiți secțiunea „Certificat SSL” sau contactați asistența. Va trebui să furnizați informații despre codul CSR, cheie privată si certificat. Nu uitați să activați suportul SSL în panoul dvs. de găzduire.

Cum se creează permanent o conexiune https

După ce ați plasat fișierul pe server, trebuie setare internă site-ul. Va trebui să configurați o redirecționare și să schimbați totul link-uri interne de la absolut la relativ.

Adică, în loc de http://site.ru/img/bg.png instalați: //site.ru/img/bg.png.

Trebuie să eliminăm HTTP din numele linkurilor. Dacă aveți dubii, sunați la un programator WEB sau un freelancer, acesta îl va configura rapid. Puteți căuta link-uri prin editorul de cod în fiecare fișier sau puteți găsi toate informațiile prin căutarea în PhpMyAdmin.

După configurarea legăturilor, trebuie să informați motoarele de căutare despre schimbare. Deschideți fișierul robots.txt și în linia Gazdă: înlocuiți HTTP cu HTTPS.

În loc de http://example.ru, introduceți: https://example.ru.

După modificarea fișierului de căutare, configurați automat Înainte acțiuni ulterioare verifica disponibilitatea site-ului pe protocolul HTTPS. Dacă toate acțiunile anterioare au fost efectuate corect, atunci nu ar trebui să apară erori.

Pentru redirecționare automată pe conexiune sigură lipiți acest script în fișierul .htacess, îi ajută pe unii:

RewriteEngine activat

RewriteCond %(HTTP:X-Forwarded-Proto) !https

RewriteRule ^ https://%(HTTP_HOST)%(REQUEST_URI)

Dar, în majoritatea cazurilor, această metodă nu funcționează. În aceste situații, contactați administratorul dvs. de găzduire, el va putea face setări corecte. Redirecționarea va începe să funcționeze după repornirea serverului, de obicei în 24 de ore.

În plus, va trebui să modificați setările din panoul de webmasteri Yandex sau Google. În secțiunea de setări de indexare, va trebui să mergeți la elementul oglindă principal și să instalați HTTPS. În plus, va trebui să transferați:

  • sitemap.xml;
  • excepții URL;
  • geolocalizare;
  • link-uri Disawov Tool pentru Google.

După aceasta, trebuie doar să așteptați ca reindexarea să se termine. În această perioadă, activitatea pe site va scădea, dar apoi totul se va stabiliza.

conexiune în WordPress

Blogurile și portalurile moderne rulează în cea mai mare parte pe WordPress pentru a trece la https, vor trebui să efectueze aceiași pași (obține un certificat, schimbă link-uri etc.); Dar au un set de plugin-uri încorporate care vor efectua toate acțiunile pentru proprietar:

  • Redirecționare HTTPS ușoară;
  • HTTPS (SSL).

Primul înlocuiește link-urile, iar al doilea vă permite să specificați un certificat SSL. De asemenea, accesați Setări->General. Aici trebuie să schimbați adresa URL și să specificați protocolul HTTPS. Asigurați-vă că paginile vechi au și o conexiune sigură. După modificarea legăturilor, configurați redirecționarea și modificați fișierul robots.txt.

Nu ar trebui să mai existe întrebări despre cum să faceți o conexiune https pe un site web. Pe majoritatea site-urilor de găzduire pentru a activa modul de protecție trebuie doar să scrieți suportului tehnic. Ei vor numi un specialist, iar el va face el însuși configurarea.

Poate apărea o eroare „http”. Mulți oameni încep apoi să-și analizeze ultimele acțiuni, produs în WordPress, dar majoritatea oamenilor pur și simplu habar nu au ce s-a întâmplat, pentru că nimic „rău” părea să fi fost făcut. Dacă te uiți la răspunsurile de pe Internet la întrebarea „de ce dă o eroare http la încărcarea imaginilor”, poți găsi câteva recomandări care pot elimina această eroare.

Recomandări pentru a ajuta la rezolvarea erorii la descărcarea imaginilor „http”

Prima recomandare este să vă uitați prin întreaga listă plugin-uri instalateși dezactivați toate cele inutile. De asemenea, va trebui să dezactivați toate pluginurile și să le activați unul câte unul, apoi să urmăriți efectul muncii lor pe site-ul dvs. Astfel, încărcarea fotografiilor poate funcționa, dar este departe de a fi sigur că veți putea detecta exact pluginul care aruncă eroarea. Dacă aveți timp și răbdare, încercați această recomandare, dar ni s-a părut prea deranjantă, așa că am lăsat această opțiune în rezervă.

A doua recomandare afirmă că întreaga problemă poate sta în serverul pe care se află site-ul tău. Dar dacă aveți alte site-uri care funcționează cu acest hoster, și totul este în regulă cu ele in perfecta ordine, ceea ce înseamnă că eroarea se află undeva în site-ul însuși. Dacă există un singur site, atunci contactați hosterul, în cazul în care problema este într-adevăr acolo.

Aici observăm, de asemenea, că nu este întotdeauna rațional să actualizați la o versiune care tocmai a fost lansată.

De regulă, conține multe inovații/actualizări utile, dar nu toți dezvoltatorii de pluginuri au timp să facă ajustări la produsele lor. Adică, dacă totul este în regulă cu tine acum, atunci nu are rost să te grăbești să actualizezi motorul.

Al patrulea sfat este să adăugați următorul cod la fișierul .htaccess:

SecFilterEngine oprit
SecFilterScanPOST Dezactivat

Codul de mai sus trebuie plasat la sfârșitul sau începutul fișierului, după care totul poate începe să funcționeze.
Următorul sfat– introduceți codul în fișierul .htaccess folosind un program de încărcare FTP:



SecFilterEngine oprit
SecFilterScanPOST Dezactivat

Rețineți că, dacă aveți deja un astfel de cod în fișier, atunci va trebui să-l rescrieți, adică să-l înlocuiți cu unul nou. Încercați să descărcați fișierul media acum; Mai mult, puteți încărca fișiere în cantități nelimitate. Am observat în mod repetat că într-un caz, dacă lipiți codul la începutul fișierului, totul va funcționa; la lipirea codului pe alt site la începutul fișierului, nimic nu a funcționat, dar totul a început să funcționeze imediat ce codul a fost mutat la sfârșitul fișierului.

Merită să ne amintim că, după actualizarea WordPress, acest fișier poate fi ușor suprascris și eroarea poate apărea din nou. Pentru a preveni acest lucru, vă recomandăm să salvați un fișier de rezervă pe computer și, dacă se întâmplă ceva, să îl încărcați pe server prin FTP.

O altă recomandare este să instalați pluginul WPupload, care înlocuiește programul de încărcare WordPress implicit cu unul nou (suporta HTML5, Flash, BrowserPlus etc.). Cu toate acestea, plugin nou poate adăuga noi probleme site-ului, dar, în orice caz, aceasta va elimina această eroare la încărcarea imaginilor „http”.

Din toate cele de mai sus, rezultă o concluzie simplă: dacă vrei ca site-ul tău să funcționeze stabil, nu te grăbi cu . Versiune nouă deși promite să fie mai funcțional și mai sigur, acesta dezvoltatori terți Ei nu au întotdeauna timp să își optimizeze produsele pentru versiuni noi (de aceea poate apărea eroarea „http”).

Uneori apar situații când un browser web afișează o eroare când solicită un site. Astfel de erori au cod digitalși o descriere specifică.

(101-199) Răspunsuri informative

Astfel de răspunsuri indică faptul că o cerere de la un anumit client a fost acceptată și este procesată direct.

  • 100 - Continuare - prima parte a cererii a fost acceptata, clientul poate continua transmiterea acesteia.
  • 101 - Protocoale de comutare - serviciul îndeplinește anumite cerințe ale clientului și, de asemenea, comută protocoale, ceea ce corespunde datelor din câmpul antet Upgrade.

(200-299) Cereri reușite client

În acest interval, toate solicitările clienților sunt finalizate cu succes.

  • 200 - OK - procesarea cu succes a cererii clientului, iar răspunsul serverului conține toate datele solicitate.
  • 201 - Creat - acest cod de stare poate fi folosit la schimbarea URL-ului. Pe lângă cod, serverul emite și un antet Locație, care conține toate informațiile despre locația tuturor datelor noi în mișcare.
  • 202 - Acceptat - cererea este acceptată, dar nu este procesată imediat. Corpul de conținut al răspunsului poate conține, de asemenea, anumite informații despre tranzacție. Nu există nicio garanție că o cerere va fi acceptată, chiar dacă aceasta era valabilă la momentul admiterii.
  • 203 - Informații non-autoritare - antetul conținutului conține informații de la care au fost obținute copie locală sau de la un terț.
  • 204 - Fără conținut - răspunsul conține doar un antet și un cod de stare, corpul răspunsului în sine nu este dat. Când se primește un astfel de răspuns, documentul browserului nu trebuie reîmprospătat. Codul se poate întoarce după ce utilizatorul face clic pe zonele goale ale imaginii.
  • 205 - Resetare conținut - formularul care este utilizat pentru date suplimentare de intrare este șters de browser.
  • 206 - Conținut parțial - serverul returnează doar o parte din date. Folosit într-un răspuns la cerere când se specifică un antet Range. Serverul trebuie să indice în antetul Content-Range anumit interval, care este inclus în răspuns.

(300-399) Redirecționare

Un cod de răspuns în acest interval înseamnă că clientul trebuie să efectueze anumite acțiuni pentru a satisface cererea.

  • 300 - Opțiuni multiple (mai multe opțiuni din care să alegeți) - URL-ul solicitat poate include mai multe resurse. Corpul de conținut returnat de server trebuie să conțină anumite informații despre făcând alegerea corectă resursă.
  • 301 - Mutat permanent (resursa mutată în în mod continuu) - serverul nu mai folosește URL-ul necesar, prin urmare operația specificată în cerere nu este efectuată. Antetul Locație oferă informații despre noua locație a documentului solicitat. Solicitările ulterioare trebuie să specifice noua adresă URL.
  • 302 - Mutat temporar (resursa este mutată temporar) - mișcare temporară a adresei URL solicitate. Antetul Locație specifică noua locație. După primirea codului de stare, clientul trebuie să rezolve cererea folosind noua adresă URL, dar apoi să o folosească doar pe cea veche.
  • 303 - See Other (vezi altă resursă) - căutarea URL-ului solicitat se realizează prin specificarea unui alt URL, care se află în antetul Locație.
  • 304 - Not Modified - este codul de răspuns la antetul lf-Modified-Since dacă URL-ul nu s-a schimbat. Corpul de conținut nu este prezent, așa că clientul trebuie să folosească o copie locală a acestuia.
  • 305 - Utilizați Proxy (utilizați un server proxy) - resursa solicitată trebuie accesată printr-un server proxy, care este specificat în câmpul Locație. Acest câmp conține și adresa URL a serverului proxy necesar. Solicitarea trebuie repetată destinatarului.

(400-499) Solicitări incomplete ale clienților

Codurile de răspuns din acest interval indică faptul că solicitarea clientului este incompletă. De asemenea, poate însemna că clientul trebuie să introducă informații suplimentare.

  • 400 - Cerere greşită(cerere incorectă) - serverul nu înțelege cererea din cauza sintaxei incorecte. Solicitarea poate fi repetată, dar numai după ce au fost făcute anumite modificări.
  • 401 - Neautorizat (fără permisiune) - utilizatorul trebuie să-și confirme autenticitatea. Răspunsul trebuie să conţină un câmp de antet WWW-Authenticate cu o provocare care se aplică resursei solicitate. Solicitarea poate fi repetată, dar cu un câmp adecvat de antet Autorizare. Dacă acest câmp conține deja recomandări de autentificare, un cod de stare 401 indică faptul că astfel de recomandări nu sunt potrivite pentru autentificare.
  • 402 - Plata necesară - Codul este rezervat și va fi folosit în viitor, dar nu este încă implementat în HTTP.
  • 403 - Interzis (acces refuzat) - cererea este respinsă, astfel încât serverul nu este capabil să răspundă clientului.
  • 404 - Nu a fost găsit(resursa nu a fost găsită) - adresa URL specificată nu mai există documentul solicitat, adică serverul nu a găsit nimic care să se potrivească cu această solicitare.
  • 405 - Method Not Allowed - Antetul Allow indică faptul că metoda utilizată de client nu este acceptată.
  • 406 - Nu este acceptabil - Resursa identificată poate genera doar obiecte cu o caracteristică de conținut care nu se potrivește cu anteturile de acceptare.
  • 407 - Este necesară autentificarea proxy (este necesară înregistrarea la serverul proxy) - indică necesitatea autentificării clientului la serverul proxy. Serverul proxy returnează un câmp de antet Proxy-Authenticate care conține provocarea specifică. Solicitarea poate fi repetată, dar numai dacă este specificat un câmp de antet adecvat.
  • 408 - Request Timeout (timpul de procesare a cererii a expirat) - cererea nu a fost finalizată de client în timp ce serverul aștepta. Cererea poate fi repetată ulterior.
  • 409 - Conflict - Solicitarea nu poate fi procesată deoarece există un conflict cu starea resursei. Se așteaptă ca utilizatorul să rezolve conflictul și să trimită din nou cererea.
  • 410 - Gone (resursa nu mai există) - URL-ul solicitat nu mai este disponibil pe server.
  • 411 - Length Required (lungimea trebuie specificată) - cererea nu este acceptată de server deoarece Content-Length nu este definită. Solicitarea poate fi repetată prin specificarea lungimii corpului mesajului în câmpul antet Content-Length.
  • 412 - Condiție preliminară eșuată condiție prealabilă) - cererea nu este procesată de server deoarece obiectul de cerere este mult mai mare decât poate gestiona. În această situație, este posibil să închideți conexiunea. Dacă această condiție este temporară, atunci serverul specifică o oră în antetul Retry-After după care clientul poate încerca din nou.
  • 413 - Request Entity Too Large (elementul solicitat este prea mare) - cererea nu este procesată de server din cauza dimensiunii sale uriașe.
  • 414 - Request-URI Too Long (identificatorul de resurse din cerere este prea lung) - cererea nu este procesată de server deoarece URL-ul său este destul de lung.
  • 415 - Unsupported Media Type (unsupported device type) - serverul a refuzat să deservească cererea deoarece resursa solicitată nu acceptă formatul obiectului de solicitare.

(500-599) Erori de server

Acest interval indică faptul că cererea va eșua cel mai probabil deoarece serverul a întâmpinat o anumită eroare.

  • 500 - Server intern Eroare ( eroare internă server) - În timpul procesării unei cereri, una dintre componentele serverului a întâmpinat o anumită eroare de configurare.
  • 501 - Neimplementat (funcția nu este implementată) - solicitarea clientului nu poate fi îndeplinită deoarece solicitarea necesită suport pentru unele funcţionalitate. Poate fi emis atunci când serverul nu poate recunoaște metoda de solicitare.
  • 502 - Poarta proastă(defect de gateway) - serverul, când lucra ca server proxy, a primit un răspuns nevalid în lanțul de cereri de la următorul server.
  • 503 - Serviciu indisponibil - Serviciul este temporar indisponibil, dar accesul se poate relua după un timp. Dacă serverul are anumite date, poate emite un răspuns cu antetul Retry-After.
  • 504 - Gateway Timeout (timpul trecut prin gateway a expirat) - gateway-ul sau serverul a depășit limita de timp.
  • 505 - Versiunea HTTP Nu este acceptat(versiunea HTTP neacceptată) - versiunea nu este acceptată de server Protocolul HTTP, care a fost folosit în cerere.

Bara de adrese din browsere de cele mai multe ori nu atrage atenția decât dacă trebuie să urmați un link copiat de undeva în clipboard. Uneori ne uităm acolo pentru a ne asigura că tranziția este corectă, mai ales în cazurile cu o redirecționare rapidă și necinstită. Dar dacă ne uităm, uneori observăm o stare neobișnuită: există un fel de lacăt atârnat, culoarea fontului este diferită și, din anumite motive, în loc de http:// obișnuit, vedem https://. Este imposibil de înțeles imediat dacă a fost dus undeva, sau ceva în lume s-a schimbat sau dacă memoria eșuează. Să încercăm să ne dăm seama.

Definiţie

HTTPprotocolul de aplicare transmiterea de date utilizată pentru a obține informații de pe site-uri web.

HTTPS- Extensie de protocol HTTP care acceptă criptarea prin Protocoale SSLși TLS.

Comparaţie

Diferența dintre HTTP și HTTPS este deja vizibilă din definiții. HTTPS nu este un protocol independent de transfer de date, ci HTTP cu un supliment de criptare. Aceasta este cheia și singura diferență. Dacă conform protocolului Date HTTP sunt transmise neprotejate, atunci HTTPS va furniza protecţie criptografică. Acesta este utilizat acolo unde este responsabilă autorizarea: pe site-urile sistemelor de plată, servicii postale, pe rețelele de socializare.

Dacă datele nu sunt protejate prin SSL, atunci un program interceptor lansat la momentul nepotrivit permite unui atacator să le folosească. Din punct de vedere tehnic, implementarea HTTPS este ceva mai complicată: pentru aceasta, site-ul protejat trebuie să aibă în uz un certificat de server, pe care utilizatorul îl acceptă sau nu. Acest certificat este instalat pe serverul care procesează conexiunile. Atât datele primite de client, cât și datele primite de la acesta sunt criptate. Cheile de criptare sunt folosite pentru a verifica dacă clientul corect le primește și le furnizează.

O altă diferență tehnică este în porturile utilizate pentru accesul HTTP și HTTPS. Primul interacționează de obicei cu portul 80, al doilea cu portul 443. Administratorul poate deschide alte porturi în aceleași scopuri, dar acestea nu se vor potrivi niciodată.

Site-ul de concluzii

  1. HTTP este protocolul de transfer de date în sine, HTTPS este o extensie a acestui protocol.
  2. HTTPS este utilizat pentru comunicarea criptată.
  3. HTTPS este, de asemenea, utilizat pentru autorizarea pe servere care necesită o atenție sporită pentru securitatea datelor.
  4. HTTP funcționează pe portul 80, HTTPS pe portul 443.

HTTP (HyperText Protocolul de transfer- Hypertext Transfer Protocol) a fost dezvoltat ca bază pentru World Wide Web.

Protocolul HTTP funcționează după cum urmează: programul client stabilește o conexiune TCP cu serverul ( camera standard port-80) și îi emite o solicitare HTTP. Serverul procesează această solicitare și emite un răspuns HTTP către client.

Structura cererii HTTP

O solicitare HTTP constă dintr-un antet de cerere și un corp de cerere, separate printr-o linie goală. Corpul cererii poate lipsi.

Antetul cererii este format din linia principală (prima) a cererii și liniile ulterioare care clarifică cererea în linia principală. Este posibil să lipsească și rândurile ulterioare.

Interogarea pe linia principală constă din trei părți, separate prin spații:

Metodă(cu alte cuvinte, comanda HTTP):

OBŢINE- cerere document. Metoda cea mai des folosită; în HTTP/0.9, spun ei, era singurul.

CAP- cerere titlu document. Diferă de GET prin faptul că este returnat doar antetul cererii cu informații despre document. Documentul în sine nu este emis.

POST- această metodă este folosită pentru a transfera date către scripturi CGI. Datele în sine apar în rândurile ulterioare ale cererii sub formă de parametri.

PUNE- plasați documentul pe server. Din cate stiu eu, este rar folosit. O cerere cu această metodă are un corp în care este transmis documentul în sine.

Resursă- acesta este calea spre fisier specific pe serverul pe care clientul dorește să-l primească (sau plasează - pentru metoda PUT). Dacă resursa este pur și simplu un fișier de citit, serverul trebuie să îl returneze în corpul răspunsului pentru această solicitare. Dacă aceasta este calea către un script CGI, atunci serverul rulează scriptul și returnează rezultatul execuției acestuia. Apropo, datorită acestei unificări de resurse, clientul este practic indiferent la ceea ce reprezintă pe server.

Versiunea protocolului-versiunea protocolului HTTP cu care funcționează programul client.

Deci, o cerere HTTP simplă ar putea arăta astfel:

Aceasta solicită fișierul rădăcină din directorul rădăcină al serverului web.

Rânduri după linia principală cererile au următorul format:

Parametru: valoare.

Așa sunt setați parametrii de solicitare. Acest lucru este opțional toate liniile de după linia de interogare principală pot lipsi; în acest caz, serverul acceptă valoarea lor implicit sau pe baza rezultatelor solicitării anterioare (când lucrează în modul Keep-Alive).

Voi enumera câțiva dintre cei mai des utilizați parametrii de solicitare HTTP:

Conexiune(conexiune) - poate lua valorile Keep-Alive and close. Keep-Alive înseamnă că după emiterea acestui document, conexiunea la server nu este întreruptă și pot fi emise mai multe solicitări. Majoritatea browserelor funcționează în modul Keep-Alive, deoarece vă permite să „descărcați” o pagină html și imagini pentru aceasta într-o singură conexiune la server. Odată setat, modul Keep-Alive este menținut până la prima eroare sau până la următoarea solicitare Connection: close este specificată în mod explicit.
close ("închidere") - conexiunea este închisă după ce răspunde la această solicitare.

User-Agent- valoarea este „codul” browserului, de exemplu:

Mozilla/4.0 (compatibil; MSIE 5.0; Windows 95; DigExt)

Accepta- o listă de tipuri de conținut acceptate de browser în ordinea preferințelor pentru un anumit browser, de exemplu pentru IE5:

Accept: imagine/gif, imagine/x-xbitmap, imagine/jpeg, imagine/pjpeg, application/vnd.ms-excel, application/msword, application/vnd.ms-powerpoint, */*

Acest lucru este evident necesar pentru cazul în care serverul poate scoate același document în formate diferite.

Valoarea acestui parametru este folosită în principal de scripturile CGI pentru a genera un răspuns adaptat pentru un anumit browser.

Referitor- URL de la care ați ajuns la această resursă.

Gazdă- numele gazdei de la care se solicită resursa. Util dacă serverul are mai multe servere virtuale sub aceeași adresă IP. În acest caz, numele server virtual determinat de acest domeniu.

Accept-Limba- limbaj suportat. Semnificativ pentru un server care poate servi același document în versiuni lingvistice diferite.

Format de răspuns HTTP

Formatul răspunsului este foarte asemănător cu formatul cererii: are, de asemenea, un antet și un corp separate printr-o linie goală.

Antetul constă, de asemenea, dintr-o linie principală și linii de parametri, dar formatul liniei principale este diferit de cel al antetului cererii.

Șirul de interogare principal este format din 3 câmpuri separate prin spații:

Versiunea protocolului- similar cu parametrul de cerere corespunzător.

Cod de eroare- denumirea de cod a „succesului” cererii. Codul 200 înseamnă „totul este normal” (OK).

Descrierea verbală a erorii- „descifrarea” codului anterior. De exemplu, pentru 200 este OK, pentru 500 este Intern Eroare de server.

Cei mai comuni parametri de răspuns http:

Conexiune- similar cu parametrul de cerere corespunzător.
Dacă serverul nu acceptă Keep-Alive (există), atunci valoarea Connection din răspuns este întotdeauna apropiată.

Prin urmare, în opinia mea, tactica corectă de browser este următoarea:
1. emite Conexiune: Keep-Alive în cerere;
2. Starea conexiunii poate fi evaluată după câmpul Conexiune din răspuns.

Tip de conținut(„tipul de conținut”) - conține o desemnare a tipului de conținut al răspunsului.

În funcție de valoarea Content-Type, browserul interpretează răspunsul ca o pagină HTML, imagine gif sau jpeg, ca fișier pentru a fi salvat pe disc, sau orice altceva, și ia măsurile corespunzătoare. Valoarea Content-Type pentru browser este aceeași cu valoarea extensiei de fișier pentru Windows.

Unele tipuri de conținut:

text/html - text în format HTML(pagină web);
text/plain - text simplu (similar cu Notepad);
imagine/jpeg - imagine în format JPEG;
imagine/gif - la fel, în format GIF;
application/octet-stream - un flux de „octeți” (adică doar octeți) pentru a scrie pe disc.

De fapt, există mai multe tipuri de conținut.

Conținut-Lungime(„lungimea conținutului”) - lungimea conținutului răspunsului în octeți.

Ultima modificare("Modificat ultima dată") - data ultima schimbare document.