internetul Windows. Android

Ceea ce este transmis cu cereri HTTP. Tipuri de solicitări și filosofie HTTP

Aceste și următoarele secțiuni vor fi descrise pe scurt cum să creați cele mai simple aplicații web utilizând PHP. Ceea ce a fost descris în secțiune nu este suficient de suficient pentru aplicarea dvs. pentru a comunica cu utilizatorul și formată în funcție de acțiunile efectuate sau parametrii introdusi. Și ceea ce lipsește? Nu există suficiente cunoștințe despre cum să organizați introducerea datelor utilizatorului și transferul acestor date pe server. Ei bine, cunoștințele de bază ale metodelor de procesare a software-ului primit pe informațiile despre server pe care ar trebui să le fi deja.

Http metode de solicitări și parametrii acestora

Orice aplicație web dinamică formează un răspuns la utilizator în conformitate cu parametrii introduși sau cu acțiunile efectuate pe partea clientului. Accesarea serverului este cel mai adesea redusă la două tipuri de interogări: utilizând metoda de obținere sau metodă post. Câteva cuvinte despre diferențele dintre aceste două tipuri de solicitări.

Obțineți metoda:

    Parametrii sunt transmise antetului interogării HTTP, astfel încât acestea pot fi văzute pe promptul de comandă, iar o astfel de solicitare poate fi salvată în marcaje. Deoarece lungimea totală a antetului este limitată, numărul și lungimea parametrilor transmise folosind GET este, de asemenea, limitată.

    Se crede că rezultatele mai multor implementate într-un rând de aceleași cereri trebuie să fie singure și la fel.

Metoda postală:

    Parametrii de solicitare sunt transmise în corpul interogării HTTP, deci nu sunt ele pe linia de comandă. Numărul și mărimea parametrilor sunt nelimitate.

    Se crede că rezultatele mai multor cereri postlice identice pot returna diferite valori, deoarece pot schimba proprietățile obiectului țintă.

Metoda de obținere trebuie utilizată pentru a extrage conținutul resurselor de informații în conformitate cu parametrii atunci când nu este necesar să efectuați modificări ale structurii datelor privind resursele țintă, iar cererea (URL) are sens să salveze în marcaje. Metoda de execuție GET poate fi mai mare decât cerințele similare utilizând metoda postală.

Metoda poștală trebuie utilizată atunci când trebuie să vă ascundeți de parametrii transmisi ai adresei URL. Această metodă ar trebui, de asemenea, utilizată în interogări pentru a modifica conținutul resurselor țintă, transmiterea în parametrii (în corpul de interogare) descrierea acestor cele mai multe schimbări.

Calea spre resursă? Parameter1 \u003d Value1 & Parameter2 \u003d Valoare2 & ...

Dacă nu aveți un formular HTML special pentru a umple parametrii, atunci puteți depana aplicația PHP prin trecerea parametrilor de testare direct la linia de comandă a browserului, de exemplu:

Http: //syt/php-samples/sql.php? Sql \u003d Selectați * de la d_staff

Pentru a face apel la parametrii serverului, utilizați matrice globale $ _Get. și $ _Post. respectiv. Dacă aplicația dvs. utilizează încă ce metodă de a le contacta, ar trebui să utilizați o matrice $ _Request.care combină datele rețelei $ _get și $ _post, de exemplu, după cum urmează:

$ Sql \u200b\u200b\u003d izset ($ _ necesită ["sql"])? $ _Request ["sql"]: "";

În acest exemplu, programul determină dacă a fost transmis parametrul "SQL": dacă da, atunci acesta atribuie valoarea sa la variabila corespunzătoare și, dacă nu, atunci valoarea goală îi atribuie.

Determinarea parametrilor HTTP al interogării prin intermediul formei HTML

Desigur, nu este foarte convenabil să se determine parametrii manual direct în linia de comandă a browserului. Această metodă este potrivită pentru execuția software a cererilor HTTP la comunicarea aplicațiilor web unul cu celălalt. Pentru a introduce și a exercita datele inițiale de pe partea clientului, ar trebui să utilizați formulare HTML și. Mai jos este un exemplu de formă cea mai simplă, cu care este introdus parametrul de text (valoare), care este apoi transmis pe server ca parametru Post Metoda.

metodă. \u003d "Post" acțiune. \u003d 'Sql.php'\u003e sql:

În atributul de metodă al elementului de formă, metoda specifică metoda de transmitere a datelor către server (obținerea sau postarea). Atributul de acțiune indică fișier PHP.care va procesa cererea. Dacă procesul trebuie să fie fișierul curent, atributul de acțiune nu este necesar. Pentru toate elementele a căror valoare trebuie transmisă ca parametru de interogare HTTP, determinați valoarea unică a atributului de nume. Este valoarea atributului nume. va fi index În ARRAYS $ _Get, $ _post sau $ _request (a se vedea exemplul de mai sus). Apăsând butonul trimite Trimite uniformă cu toate valorile introduse pe server.

Prima metodă de efectuare a cererii Post PHP este de a utiliza file_get_contents. A doua metodă va utiliza FREAD în combinație cu o pereche de alte funcții. Ambele opțiuni utilizează funcția Stream_Context_Create pentru a completa câmpurile de antet de interogare necesare.

Explicarea codului

Variabila $ SPD conține datele care trebuie transmise. Trebuie să aibă un format de șir de interogare HTTP, astfel încât unele caractere speciale trebuie să fie codificate.

Și în caracteristicile File_get_contents și în funcția FREAD avem doi parametri noi. Primul este Use_include_path. Din moment ce efectuăm cererea HTTP, în ambele exemple va fi falsă. Când utilizați valori adevărate pentru citirea unei resurse locale, funcția va căuta fișierul de la INGLEM_PATH.

Cel de-al doilea parametru este context, este umplut cu valoarea returnată a Stream_Context_Create, care ia valoarea unei matrice de $ AHTTP.

Utilizarea fișier_get_contents pentru a executa cereri poștale

Pentru a trimite o solicitare poștală la File_get_contents, trebuie să aplicați Stream_Context_create pentru a umple manual câmpurile antetului și pentru a specifica ce "ambalaj" va fi utilizat - în acest caz http:

$ Surl \u003d "http://brugbart.com/examples/http-post.php"; // URL Post $ SPD \u003d "Nume \u003d Jacob & Bench \u003d 150"; // postul de date $ AHTTP \u003d matrice ("http" \u003d\u003e // wrapper care va fi folosit array ("metoda" \u003d\u003e "post", // cerere de solicitare // antet de interogare "antet" \u003d\u003e "conținut - Tip: Aplicație / X-WWW-FORM-URLENCODED "," Conținut "\u003d\u003e $ SPD)); $ Context \u003d stream_context_create ($ AHTTP); $ conținut \u003d file_get_contents ($ surl, fals, € context); Echo conținut de $;

Utilizarea FRED pentru a executa cereri poștale

Puteți utiliza funcția Fread pentru a efectua solicitări postale. Următorul exemplu este Stream_Context_Create folosit pentru a compila antetele cererii HTTP necesare:

$ Surl \u003d "http://brugbart.com/examples/http-post.php"; // URL Post $ SPD \u003d "Nume \u003d Jacob & Bench \u003d 150"; // post $ AHTTP \u003d matrice ("http" \u003d\u003e // wrapper care va fi folosit array ("metoda" \u003d\u003e "post", // cerere de solicitare // "antet" \u003d\u003e "tip content: aplicație / X-WWW-FORM-URLENCODED "," Conținut "\u003d\u003e $ SPD)); $ Context \u003d stream_context_create ($ AHTTP); $ mâner \u003d fopen ($ surl, "r", fals, $ context); $ conținut \u003d ""; În timp ce (! Fero ($ mâner)) ($ conținut. \u003d FREAD (mâner $, 8192);) FLOSE ($ mâner); Echo conținut de $;

Efectuați cereri utilizând PHP

Acum vom acorda atenție utilizării FREAD și FILE_GET_CONTENTS pentru a descărca conținutul de pe Internet prin HTTP și HTTPS. Pentru a utiliza metodele descrise în acest articol, trebuie să activați opțiunea Fopen Wrappers. Pentru a face acest lucru, în fișierul php.ini trebuie să instalați parametrul Allow_url_fopen.

Pop și obțineți interogările PHP sunt utilizate pentru a vă conecta pe site-uri, primind conținutul unei pagini web sau pentru a verifica versiunile noi ale aplicațiilor. Vă vom spune cum să efectuați cereri simple HTTP.

Utilizarea FRED pentru a descărca sau a primi fișiere prin intermediul internetului

Amintiți-vă că citirea paginii web este limitată la partea disponibilă a pachetului. Deci, trebuie să utilizați funcția Stream_get_contents ( file_get_contents similar) sau în timp ce ciclul de citire a conținutului fragmentelor mai mici până la atingerea sfârșitului fișierului:

În acest caz, procesarea PHP PHP PHP este ultimul argument al funcției FREAD este egal cu dimensiunea fragmentului. Aceasta, de regulă, nu ar trebui să fie mai mare de 8192 ( 8*1024 ).

Acum, cele mai frecvent utilizate două metode HTTP: obțineți și postați. Dar sa dovedit că, chiar și printre acești doi dezvoltatori web "Pini", sunt reluați să piardă. Aceasta este o explicație: ambele metode pot fi folosite pentru a obține același rezultat. Dar trebuie amintit că utilizarea rapidă a oricăreia dintre metode poate duce la depozite, printre care încărcături mari pe canal și găuri de securitate.

Pentru a evita acest lucru suficient, este mai detaliat pentru a înțelege numirile și diferențele dintre aceste metode.

Dacă vă aflați în valoarea numelor metodelor, acesta va deveni deja mult mai clar. Obține (de la engleză pentru a primi), adică Ar trebui să fie aplicată solicitării de date. Post (C Engleză. Trimiteți prin poștă) - Aplicați pentru a trimite date către server. Se pare că totul este extrem de simplu și de înțeles. Dar cine dorește să dezvolte site-uri mai complicate de site-ul cardului de vizită cu o singură formă de feedback, este mai bine să cunoaștem întrebarea mai aproape.

Solicitări HTTP sigure și nesigure

Specificația HTTP 1.1 intră în două concepte: o cerere sigură și nesigură sau dacă este mai precisă, metodă.

Sigur - acestea sunt metode care pot solicita numai informații. Ele nu pot schimba resursa solicitată, nu pot duce la rezultate nedorite pentru utilizator, alte persoane sau server. Exemple sunt în siguranță Există o solicitare HTML a paginii web sau a imaginii. În siguranță, includeți cap și obțineți metode.

Nota

În realitate, meșteșugarii, desigur, pot dăuna și pot obține interogări. De exemplu, cererile de focalizare.

Cererile nesigure, așa cum au ghicit deja, pot duce potențial la consecințe rele dacă le reutilizează. Aceste solicitări pot schimba conținutul resursei la care fac apel. Exemple de astfel de solicitări: trimiterea de mesaje, înregistrare, plăți online. Insecure include metode postale, puse, ștergere.

Idempotent (idempotent) metode

Idmpotency - O proprietate a metodelor care, cu numeroase returorii, va returna același rezultat, cu excepția cazului în care informațiile sunt depășite. Aceasta înseamnă că atunci când accesează aceeași adresă URL, toți utilizatorii vor vedea una și cea mai mică pagină web, imagine, video etc. Această proprietate are, pune, șterge metode.

Și acum mai multe despre metodele de obținere și postare: faceți fiecare scurt "rezumat".

Obține.

  • concepute pentru a primi date de pe server;
  • corpul cererii este gol;
  • procesat pe partea serverului mai rapid și mai mic consum de resurse de server datorită organismelor goale ale cererii;
  • transmisia variabilelor apare în bara de adrese (aceasta vede, de asemenea, utilizatorul, datele tehnice se induldă în linia de interogare) și, prin urmare, informații despre variabile și valorile acestora (datele nu sunt protejate);
  • este capabil să transfere o cantitate mică de date pe server: există limitări ale lungimii URL, care depinde de browser, de exemplu, IE6 \u003d 2KB. Acest lucru este recomandat să navigați pe dezvoltatori Yahoo!;
  • poate transmite numai caractere ASCII;
  • o astfel de solicitare poate fi copiată, salvată (de exemplu, în marcaje);
  • cererea poate fi cache (aceasta poate fi controlată);
  • pentru a reduce în continuare sarcina pe canal și serverul și cererile parțiale sunt disponibile;
  • nu întrerupeți conexiunea HTTP (când este activată Beepalive pe server).

POST.

  • concepute pentru a trimite date către server;
  • transmisia de date are loc în corpul de interogare;
  • prelucrarea pe partea laterală a serverului este mai lentă și "mai greu" decât obțineți, deoarece, în plus față de anteturi, trebuie să analizați corpul de interogare;
  • capabil să transmită cantități mari de date;
  • capabil să transfere fișiere;
  • pagina generată de post nu poate fi salvată în marcajele;
  • pauze conexiunea HTTP;
  • pentru a transfera chiar și o cantitate foarte mică de informații, majoritatea browserelor trimit un minim de două pachete TCP: poziția și apoi corpul cererii.

Se pare că nu sunt atât de asemănătoare acestor două metode. Utilizarea unuia sau a altui ar trebui să se datoreze sarcinii, dar nu și faptul că obținerea este utilizată în mod implicit sau este mai ușor să lucrați cu acesta. Bineînțeles, în cele mai multe cazuri o opțiune mai buni, mai ales atunci când construiți Ajax rapid, dar nu uitați de deficiențele sale. Pentru mine, am făcut o notă simplă de algoritm cu privire la alegerea metodei.

Acest post este destinat să explice principiile transferului de date pe Internet cu ajutorul a două metode principale: obțineți și postați. Am scris-o ca un supliment la instrucțiunile generatorului de un program de lucru schimbător pentru cei care nu sunt interesanți pentru detalii ☺.

Mergeți la următoarea adresă (aceasta este pentru o explicație vizuală): http://calendarin.net/calendar.php?year\u003d2016 Vă rugăm să rețineți bara de adrese a browserului: Calendarin.net/calendar.php ? an \u003d 2016 Fișierul principal este numit, urmat de un semn de întrebare (?) Și parametrul "Anul" cu valoarea "2016". Deci, tot ce urmează un semn de întrebare, aceasta este o primire. Totul este simplu. Pentru a transmite un parametru, ci câteva, atunci trebuie să împartă ampersand (&). Exemplu: calendarina.net/calendar.php. ? an \u003d 2016 & afișaj \u003d zile de lucru-și-zile-off

Fișierul principal este, de asemenea, numit, urmat de un semn de întrebare (?), Apoi parametrul "Anul" cu valoarea "2016", apoi ampersand (&), apoi - parametrul "afișaj" cu "Zilele de lucru și - Parametrul de zi ".

Get-parametrii se pot schimba direct în bara de adrese a browserului. De exemplu, schimbarea valorii "2016" la "2017" și apăsând tasta, veți merge în calendar pentru 2017.

Această transmisie de date într-un mod ascuns (adresa paginii nu se schimbă); Adică, pentru a vedea ce a fost transmis, puteți folosi doar programul (script). De exemplu, în următorul instrument pentru calcularea caracterelor din text, datele inițiale sunt transmise prin metoda postală: http://usefalonlinetools.com/free/character-counter.php

Dacă aveți întrebări, comentarii și e-mail-ul meu sunt la dispoziția dumneavoastră.

În plus față de metoda de obținere, pe care am revizuit-o în nota anterioară, există o altă metodă de trimitere a unei interogări pe protocolul HTTP - metoda postală. Metoda postală este, de asemenea, foarte des folosită în practică.

Dacă, pentru a se referi la metoda de obținere, este suficient pentru ca noi să introducem cererea către adresa URL, atunci totul funcționează în metoda postală pe un alt principiu.

Pentru a executa acest tip de cerere, trebuie să facem clic pe butonul cu tipul \u003d "Trimite atribut", care este situat pe pagina web. Rețineți că acest buton este amplasat în element.

Cu atributul metodă cu valoarea postă.

Luați în considerare acest cod HTML:

Introduceți textul:


Dacă utilizatorul introduce un text la câmpul de text și faceți clic pe butonul "Trimitere", atunci variabila de text va fi trimisă la server cu conținutul conținutului pe care utilizatorul a introdus-o.

Postați și obțineți cereri cu cuvinte simple

Această variabilă va fi trimisă prin metoda postală.

Dacă scrieți în formularul:

Aceste date vor fi trimise prin metoda de obținere.

Dacă, în cazul unei cereri de obținere, valoarea datelor pe care le putem transmite este limitată la lungimea lungimii browserului, atunci în cazul cererii poștale, nu există o astfel de restricție și putem transmite cantități semnificative de informații.

O altă diferență de metodă post de la obținerea, metoda postală ascunde toate variabilele transmise acestora și valorile lor în corpul său (entitate-corp). În cazul metodei de obținere, acestea au fost stocate în șirul de interogare (cererea-URI).

Iată un exemplu de solicitare făcută de metoda postală:

POST / HTTP / 1.0 \\ R \\ n
Gazdă: www.site.ru \\ r \\ n
Referer: http://www.site.ru/index.html1r.
Cookie: venit \u003d 1 \\ r \\ n
Tip de conținut: aplicație / x-www-form-urlencoded \\ r \\ n
Lungimea conținutului: 35 \\ r \\ n
\\ r \\ n
LOGIN \u003d DIMA & PASSWORD \u003d 12345

Astfel, transmiterea datelor prin metoda postală, vor fi mult mai greu de interceptat atacatorul, pentru că Acestea sunt ascunse de vizionarea directă, astfel încât metoda de transmitere a datelor prin metoda post este considerată a fi mai sigură.

În plus, metoda postală poate fi transmisă nu numai text, ci și date multimedia (imagini, audio, video). Există un parametru special de tip conținut care definește tipul de informații care trebuie transmise.

În cele din urmă, pentru a obține datele care au fost transmise prin această metodă, se utilizează variabila post.

Iată un exemplu de prelucrare în PHP:

echo $ _post ["text"];
?>

În ultima notă, am decis că browserul (clientul) trimite solicitări către serverul HTTP și serverul trimite un răspuns HTTP la clientul HTTP. Aceste solicitări și răspunsuri sunt emise în conformitate cu anumite norme. Există ceva asemănător sintaxei, ca și în ce secvență ar trebui să fie scrisă. Trebuie să existe o structură strict definită.

Să luăm în considerare această structură în detaliu, care construiește cereri și răspunsuri în protocolul HTTP.

Cererea HTTP este formată din trei părți principale care intră în el în ordinea enumerată mai jos. Există o linie goală între anteturile și corpul mesajului (ca separator), este un simbol de traducere a șirului.

String gol (separator)

Postați și obțineți cereri, care este diferența dintre ele și ceea ce este mai bine și în ce scopuri?

corpul mesajului (corpul entității) - parametru opțional

Cererea de rând - Indică metoda de transfer, adresa URL la care trebuie să fie accesată versiunea protocolului HTTP.

Titluri - Descrieți corpul mesajului, transmiteți parametri diferiți și alte informații și informații.

conținutul mesajului - Acestea sunt datele transmise în cerere. Corpul mesajului este un parametru opțional și poate să nu lipsească.

Când primim un răspuns de la server, corpul mesajului este cel mai adesea conținutul unei pagini web. Dar, atunci când interogări la server, poate fi uneori prezent, de exemplu, atunci când transmitem datele completate în formularul de feedback pe server.

În mai multe detalii, fiecare element de interogare, vom examina următoarele note.

Să luăm, de exemplu, o cerere reală către server. Am subliniat fiecare parte a interogării de culoarea mea: o linie de interogare - verde, titluri - portocaliu, mesajul corpului este albastru.

Cerere din browser:

Host: WebGyRy.info.

Cookie: WP-Setări

Conectare: Păstrați-viață

Următorul exemplu are deja un corp de mesaj.

Server Răspuns:

Tip de conținut: Text / HTML; Charset \u003d utf-8

Codificarea transferului: Chunked

Conectare: Păstrați-viață

Păstrați-viață: timeout \u003d 5

X-pingback: //webgyry.info/xmlrpc.php

Document fără titlu

Iată mesajele clientului și serverul HTTP.

Apropo, doriți să știți dacă are sens într-un element de pe site-ul dvs. utilizând "golurile" metricilor Yandex și Google Analytics?

Îndepărtați ceea ce nu funcționează, adăugați ceea ce funcționează și dublați veniturile.

Curs de stabilire a obiectivelor metricilor Yandex ..

Google Analytics Setup Curs de configurare ..

Clientul HTTP trimite o cerere către server sub forma unei cereri de solicitare, care are următorul format:

  • Rândul de interogare (element obligatoriu)
  • Titlu (element opțional)
  • String gol (element obligatoriu)
  • Corpul mesajului (element opțional)

Luați în considerare fiecare dintre aceste elemente separat.

Cererea de rând

Șirul de interogare începe cu un semn de metodă, după care se efectuează interogarea URI și versiunea protocolului. Elementele sunt împrăștiate din alte spații:

Luați în considerare acest element în detaliu

Metoda de solicitare

Acest element indică o metodă care trebuie apelată pe partea serverului la apariția URI specificată.

Există opt metode în http:

  • Cap.
    Folosit pentru a obține șirul de stare și antetul de pe serverul URI. Nu modifică datele.
  • Obține.
    Folosit pentru a primi date de la server la URI specificat. Nu modifică datele.
  • POST.
    Folosit pentru a trimite date către server (de exemplu, informații despre dezvoltator etc.) utilizând formulare HTML.
  • A pune.
    Înlocuiește toate datele anterioare privind datele descărcate de resurse noi.
  • Șterge.
    Elimină toate datele curente pe o resursă definită de URI.
  • Conectați.
    Setează conexiunea la tunel la server în funcție de URI specificat.
  • Opțiuni.
    Descrie proprietățile de conectare pentru resursa specificată.
  • Urmă
    Oferă un mesaj care conține următorul de întoarcere al resurselor specificat în URI.

Cererea URI

URI (identificatorul uniform al resurselor) este un identificator de resurse la care este trimisă interogarea. Mai jos este formatul cel mai comun al URI:

‘*’ Utilizat când o solicitare HTTP nu se aplică unei resurse specifice, ci la server. Utilizat numai în cazul în care metoda nu este necesară pentru a se aplica resursei. De exemplu,

absolut. Utilizat atunci când o solicitare HTTP este efectuată pe un proxy. Proxy este solicitat să transmită o interogare dintr-o memorie cache accesibilă și returnează răspunsul. De exemplu:

Asbutivated_put | o sursăcel mai chat este folosit.

Învățați să lucrați cu cereri de obținere și post

Se solicită o resursă specifică a unui anumit server. De exemplu, clientul dorește să obțină o resursă de la server prin portul 80. Adresa de resurse "www.proselyte.net" și trimite următoarea solicitare:

Solicitați câmpurile de antet

Câmpurile antetului permit clientului să transfere informații suplimentare despre solicitare și despre ele însele la serverul însuși. Aceste domenii acționează ca modificatori de interogare.

Mai jos este intersecția celor mai importante câmpuri de antet care pot fi utilizate:

  • Acceptă-charset.
  • Acceptarea-codificare
  • Acceptarea limbajului.
  • Autorizare
  • Aştepta
  • Dacă se potrivește
  • Dacă este modificat - de atunci
  • Dacă nu se potrivește
  • Dacă gama.
  • Dacă-nemodificat-de atunci
  • Gamă.
  • Referer.
  • Agent utilizator

Dacă decidem să implementăm propriul client și propriul dvs. server web, atunci vă putem crea propriile câmpuri de antet.

Un exemplu de solicitare HTTP

Pe aceasta terminăm învățarea cererilor HTTP.
În următorul articol, vom analiza răspunsurile HTTP.

O modalitate de a trimite o solicitare prin http la server este de a solicita metoda de obținere. Această metodă este cea mai comună și cererile către serverul cel mai adesea apar cu utilizarea sa.

Cea mai ușoară modalitate de a crea o interogare de obținere poate fi utilizată pentru a introduce adresa URL în bara de adrese a browserului.

Browserul va trimite serverul aproximativ următoarele informații:

Obțineți / http / 1.1
Host: WebGyRy.info.
Agent de utilizator: Mozilla / 5.0 (Windows NT 6.1; RV: 18.0) Gecko / 20100101 Firefox / 18.0
Acceptați: text / html, aplicație / xhtml + xml, aplicare / xml; q \u003d 0,9, * / *; q \u003d 0,8
ACCEPT-LANGUA: RU-EN, RU; Q \u003d 0,8, en-us; q \u003d 0,5, en; Q \u003d 0,3
Acceptați-codarea: Gzip, deflați-vă
Cookie: WP-Setări
Conectare: Păstrați-viață

Cererea este formată din două părți:

1. Linia de solicitare (linia de solicitare)

2. Antete (antete de mesaje)

Vă rugăm să rețineți că interogarea obținerea nu are un corp de mesaj. Dar acest lucru nu înseamnă că, cu el, nu putem transfera informații pe server.

Diferența dintre metodele de obținere și post

Acest lucru se poate face cu ajutorul parametrilor speciali de obținere.

Pentru a adăuga primirea parametrilor pentru a solicita, trebuie să puneți un semn "?" La sfârșitul adresei URL-ului Și după ce a început să le setați la următoarea regulă:

parametr_name1 \u003d parametri de valoare1 & nume parametru2 \u003d parametri de valoare2 & ...

Separatorul dintre parametri este semnul "&".

De exemplu, dacă vrem să trecem două valori, numele de utilizator și vârsta acestuia, se poate face următoarea linie:

http://site.ru/page.php?name\u003ddima&age\u003d27.

Când această interogare este executată, datele se încadrează în așa-numita variabilă de mediu de la Query_String de la care pot fi obținute pe server utilizând serverul de programare web.

Iată un exemplu, așa cum se poate face pe PHP.

Echo "Numele tău:". $ _Get ["nume"]. "
»;
Echo "Vârsta ta:". $ _Get ["vârstă"]. "
»;
?>

Designul $ _get ["Numele parametrilor"] vă permite să afișați valoarea parametrului transmis.

Ca urmare a executării acestui cod în browser va fi afișat:

Numele tău: Dima
Vârsta ta: 27

de asemenea, efectuăm o cerere către serverul de obținere.

HTTP - Hypertext Protocol de transport, unul dintre protocoalele TCP / IP Stack. Inițial, protocolul a fost creat pentru a transfera și a primi pagini HTML, dar acum este folosit perfect pentru sistemele informatice distribuite. Acesta este unul dintre cele mai utilizate protocoale din World Wide Web.

Imaginea 1.

Pe baza schemei de interogare / răspuns. Când clientul trimite o cerere către server, poate să o facă folosind 3 tipuri de solicitări: obțineți, puneți și postați.

Obțineți cererea de protocol HTTP

Obține. - Aceasta este o informație despre solicitarea clientului. Browserul web al clientului trimite un mesaj de obținere pentru a lua pagini de la acesta. Interogarea are două părți:

  • cererea de rând
  • titluri

Obțineți o interogare nu are un organism de date, dar acest lucru nu înseamnă că nu poate transmite niciun fel de date către server. Cu ajutorul parametrilor speciali în adresa URL, serverul de date poate fi transmis către server. Semn ? După domeniu din adresa URL, înseamnă că parametrii vor continua. În figura 2 se poate observa ce fel de informații transmite serverul de browser.

Figura - 2.

Postați și puneți cererea de protocol HTTP

Aceste două metode sunt implementate pentru a trimite informații pe serverul web. De exemplu, cu ajutorul formularelor web speciale, completați-le, le trimitem la server folosind metoda postală. De asemenea, descărcați resurse sau date pe serverul Web (imagine, video).

HTTP nu este un protocol securizat, iar mesajele postale pot fi interceptate și citite, deoarece nu sunt criptate. Pentru securitatea datelor utilizând metoda post, protocolul HTTPS utilizează. Acesta criptează datele și pot autentifica. De asemenea, implementează cerințe suplimentare pentru informații între transport și niveluri aplicate.

Principalele diferențe dintre metodele de post și obținerea metodelor sunt prezentate în tabelul 1.

Figura 3 prezintă regulile de bază care trebuie să urmeze atunci când se selectează metoda de obținere sau poștă pentru a implementa lucrările de pe serverul dvs.