Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • OS
  • Kako pronaći i boriti se protiv BOM-a je gadna greška u WordPress-u. Rješavanje problema "Ne mogu dodati informacije zaglavlja - zaglavlja su već poslana" Ružna zaglavlja informacija

Kako pronaći i boriti se protiv BOM-a je gadna greška u WordPress-u. Rješavanje problema "Ne mogu dodati informacije zaglavlja - zaglavlja su već poslana" Ružna zaglavlja informacija

Ovu grešku nije teško popraviti.
Često se ista poruka pojavljuje na početku sesije, u malo drugačijem tekstu:
Upozorenje: Nije moguće poslati kolačić sesije - zaglavlja su već poslana
Upozorenje: Nije moguće poslati limiter keša sesije - zaglavlja su već poslana

Oznaka reda bajtova
Ponekad ste provjerili SVE - nigdje nema ničega. Promijenite uređivača. Pogledajte svoj fajl u drugom programu. Na primjer, Windows Notepad, kada koristi Unicode kodiranje, dodaje servisni znak Byte Order Mark na početak vaše datoteke, a da vas ni na koji način ne obavještava. Otvorite skriptu u drugom uređivaču i uklonite suvišne znakove. I promijenite Notepad u drugi uređivač.
Ili spremite u UTF-8 kodiranju bez BOM-a

Brojna pitanja na forumu me tjeraju na to važna napomena:
Ova greška se ne pojavljuje jer imate "nešto gore napisano" u vašoj skripti. I iz činjenice da PHP nešto prikazuje u pretraživaču. Ne mora biti kod. To može biti poruka o grešci... može biti razmak ili html tag. Da da. Za najtalentovanije: Radi se o bilo kojem karakteru koji se šalje pretraživaču, a ne samo o onima koje pretraživač prikazuje neiskusnom korisniku. HTML stranice imaju izvorni tekst. I upravo on je rezultat PHP skripte, a ne lijepih slova sa slikama, kako misli jako veliki broj ljudi.

Nevjerovatno je kako mala greška može potpuno uništiti vašu WordPress stranicu. Govorimo, naravno, o poznatoj grešci upozorenja WordPress-a. Upozorenje: ne mogu mijenjati informacije zaglavlja - zaglavlja su već poslana sa pluggable.php... Ako ste jedan od onih koji su naišli na ovu grešku, onda ste došli na pravo mjesto. Ovdje ćemo prije svega razgovarati o uzroku ove greške i pogledati rješenja koja će konačno riješiti problem.

Šta je potrebno

Prije početka, provjerite imate li sljedeće:

  • Pristup vašem hosting kontrolnom panelu ili FTP pristup

Kako se ne mogu mijenjati informacije zaglavlja - zaglavlja koja su već poslana greškom

Pogledajmo primjer ove greške kako bismo bolje razumjeli razloge. Greška se obično pojavljuje u ovom obliku:

Upozorenje: Ne mogu se mijenjati informacije zaglavlja - zaglavlja su već poslana (izlaz je započeo na /public_html/wp-content/plugins/my-plugin/my-function.php:#) u /public_html/wp-includes/pluggable.php na liniji #

Kao što vidite, greška spominje dva fajla. Prvi fajl (u našem slučaju: my-function.php domaćin u / public_html // wp-content / plugins / my-plugin /) na čelu osumnjičenih. Ovo je naš prilagođeni kod koji je namijenjen za modificiranje osnovne funkcionalnosti koju pruža WordPress. Osnovna funkcionalnost je u datoteci pluggable.php(WordPress core fajl, nepromijenjen za bilo koju instalaciju WordPress-a). Drugim riječima, problem je u prvoj datoteci, što sprječava da se druga datoteka izvrši kako se očekuje.

Glavni razlog greške je nepotreban razmaci u prvom fajlu... To su razmaci na vrhu ili dnu datoteke, nepotrebni razmaci bilo gdje u datoteci, ili čak razmaci u PHP oznakama. ... Usput, zbog činjenice da programeri mogu (i obično to čine) greškom unesu dodatne prostore u svoj kod, ova greška se javlja češće nego što biste očekivali. Red # u poruci o grešci odnosi se na lokaciju problema - pomoći će vam da riješite problem brže i bez muke.

Ne mogu izmijeniti informacije zaglavlja - zaglavlja su već poslana ispravkom greške

Sada kada znate šta uzrokuje grešku, možete preći na ispravljanje. Pokazat ćemo vam dvije opcije za rješavanje problema, koje možete isprobati pojedinačno ili jednu po jednu ako ne radi odvojeno.

Opcija 1 - Uređivanje neispravne datoteke

Prva opcija za rješavanje greške Upozorenje: ne mogu mijenjati informacije zaglavlja- ručna korekcija datoteke sa greškom. Već imate informacije koje su vam potrebne da pronađete problem u samoj poruci o grešci (zapamtite, ovo je prva datoteka u poruci). Sve što je potrebno je otvoriti ovu datoteku putem FTP-a, koristeći klijent kao što je FileZilla, ili putem upravitelja datoteka.

U osnovi, sve o čemu trebate voditi računa je ukloniti dodatne razmake / prazne redove u datoteci. Dobro mjesto za početak je # red spomenut u poruci o grešci. Odatle možete nastaviti raščlanjivati ​​ostatak datoteke tražeći druge nepotrebne razmake ili prazne redove do samog kraja dokumenta.

Provjerite jesu li PHP početne i završne oznake ispravno napisane. Ne smije biti razmaka prije ili poslije oznake , kao i oznaka ?> ... Također, posljednji red koda ne smije završavati razmakom ili dodatnim redom.

Na snimku ekrana ispod možete vidjeti fajl wp-config.php koji ima razmake prije prve PHP oznake.


CLUE: U mnogim uređivačima teksta, nepotrebni razmaci se mogu automatski ukloniti. Na primjer, da biste uklonili dodatne razmake u uređivaču Atom, označite sav kod i idite na P ackages -> Razmak -> Ukloni prazan razmak.

Opcija 2 - Zamijenite neispravnu datoteku

Naravno, uređivanje većeg broja pogrešno napisanih datoteka može biti teško. Datoteke mogu biti povezane s dodatkom ili temom koju ste upravo instalirali na svoju web stranicu, ili čak mogu biti WordPress core fajlovi.

Ako je greška zaista uzrokovana dodatkom ili temom, sve što trebate učiniti je ponovo instalirati njega/nju. Ova akcija pomaže u većini slučajeva. S druge strane, ako je osnovni fajl WordPress-a uzrok greške, najbolje rješenje je uzeti čistu kopiju WordPress-a i zamijeniti datoteku greške u svojoj instalaciji ispravnom. Ovo će osigurati da se neispravna datoteka vrati u prvobitno stanje dok ostatak instalacije vaše WordPress stranice ostane netaknut. Sada samo ponovo učitajte stranicu i provjerite je li greška ispravljena.

U zakljucku

Bilo da ste zalijepili isječak koda u datoteku, dodali novi dodatak/temu ili napisali kod ručno, postoji rizik od pojavljivanja dodatnih razmaka u datoteci. Ovi naizgled nevini praznini bi mogli biti WordPress greška Upozorenje: ne mogu mijenjati informacije zaglavlja - zaglavlja su već poslana.

U ovom vodiču smo pokrili kako da ispravimo ove greške, a sada vaša stranica ponovo radi kako se očekivalo. Više WordPress tutorijala možete pronaći.

autor

Elena ima stručno tehničko obrazovanje u oblasti informacionih tehnologija i iskustvo u programiranju na različitim jezicima za različite platforme i sisteme. Više od 10 godina posvećeno webu, radeći sa različitim CMS-ima, kao što su: Drupal, Joomla, Magento i naravno najpopularniji sistem za upravljanje sadržajem danas - WordPress. Njeni članci su uvijek tehnički tačni i tačni, bilo da je riječ o pregledu WordPress-a ili uputama o tome kako postaviti svoj VPS server.

Jednom, nakon što sam posjetio moj blog, iznenadio sam se kada sam pronašao neshvatljivu grešku, nešto poput:

Upozorenje: Ne mogu mijenjati informacije zaglavlja - zaglavlja su već poslana (izlaz je započeo na /xxxxxxxx/wp-config.php:1)

Štaviše, ne možete ni na koji način otići na admin panel. Odmah sam otišao da proverim šta nije u redu sa datotekom wp-config.php. Sve je bilo na svom mjestu, lozinke za bazu su bile ispravne. Mislio sam da je - opet hakovano)) Ali opet, nije bilo znakova vandalizma na FTP-u. Najčudnije (ovo me je konačno potpuno zbunilo) je da samo link ka sajtu bez www ili obrnuto (ne sećam se tačno) nije radio. Počeo sam kucati hostera, gledajući postavke u admin panelu domene - općenito, puno stvari.

Ali sve se pokazalo mnogo jednostavnije - na početku konfiguracionog fajla je bila određena BOM- marker (potpis) za UTF-8 fajlove. Zbog toga se pojavila gornja greška. Da vam se to ne bi dogodilo, prije svega morate koristiti uređivače koda koji ili uopće ne postavljaju ovaj potpis, ili razjasnite da li je potreban prije spremanja datoteke.

U nekim uređivačima teksta možete pronaći "Uključi Unicode potpis (BOM)", "Dodaj oznaku reda bajta" ili slične potvrdne okvire u postavkama. U suprotnom, ne možete da onemogućite nepotrebnu opciju u određenom programu, ne preporučuje se da je koristite. Na specijalizovanim forumima možete pronaći listu dobrih uređivača teksta, a to su - Notepad2, PSPad, UnicEdit, Notepad ++... Općenito, puno pišu o ovom posljednjem, prilično moćnom alatu. Nekako sam slučajno imao alternativni editor dostupan na svom računaru - Akelpad- Koristim ga za slične zadatke.

Još jedna stvar koju treba napomenuti je da greška sa BOM-om može biti ne samo u datoteci wp-config.php. Štaviše, ako je opcija isključena, prikaz upozorenja, uopće nećete vidjeti gdje se problem uvukao. U takvim slučajevima (i od svih ostalih) preporučio bih korištenje jednostavnog skripta za pronalaženje datoteka sa BOM... Juriju Belotickom treba zahvaliti na razvoju.

Korištenje skripte je vrlo jednostavno.

  1. potreban fajl
  2. Učitajte ga na FTP server u korijenskom direktoriju. Ako WordPress nije instaliran u korijenu stranice (već u folderu bloga, na primjer), onda se skripta mora smjestiti u direktorij u kojem se nalazi WordPress i pokrenuti odatle.
  3. Pokretanje je vrlo jednostavno - upišite u adresnu traku pretraživača link http: //your.site/find_bom.php

Kao rezultat, dobit ćete listu datoteka koje su neispravne. Usput, radi brzine rada, skripta provjerava samo one direktorije u koje korisnici, po pravilu, učitavaju datoteke - root, / wp-content / themes i / wp-content / plugins.

To je u osnovi to. Kako je bilo teško riješiti tako jednostavan problem. Nadam se da sam vam malo pomogao svojim iskustvom, a sada kada se pojavi odgovarajuće upozorenje, znaćete šta da radite :) Ako ne možete da popravite ovaj ili onaj fajl iz BOM-a, možete jednostavno da postavite novi iz WordPress distribucije .

P.S. Pogodno mjesto za mladence je organizacija banketa i rješavanje svih pitanja vezanih za vjenčanje.

Razumijevanje HTTP zaglavlja i HTTP polja zaglavlja

HTTP zaglavlja pruža vitalne informacije potrebne za HTTP transakciju koja se šalje putem http protokol.

Opći format HTTP zaglavlja sadrži parove naziv-vrijednost razdvojene dvotočkama u polju zaglavlja. Svaki od para ime-vrijednost završava nizom znakova za povratak na red (CR) i za pomak u red (LF). Prazna polja na kraju svakog zaglavlja označavaju kraj zaglavlja.

Uobičajeni format zaglavlja iza kojeg slijede aplikacije izgleda ovako:

Vrste HTTP zaglavlja

Postoje četiri tipa zaglavlja HTTP poruka. Oni su:

  • General Header
  • Zaglavlje zahtjeva
  • Zaglavlje odgovora
  • Zaglavlje entiteta

General Header

Opšta polja zaglavlja imaju uobičajenu primjenu u porukama zahtjeva i odgovora. Polja zaglavlja odnose se samo na poslanu poruku i ne odnose se na preneseni entitet.

Struktura opšteg zaglavlja izgleda ovako:

Cache-kontrola polje specificira direktive koje mora pratiti svaki mehanizam keširanja na sistemu zahtjeva i odgovora.

Veza polje omogućava pošiljaocu da navede opcije potrebne za vezu. Zaglavlje veze ima sljedeći format:

Datum polje predstavlja datum i vrijeme tokom iniciranja poruke. Format datuma naveden u HTTP-u izgleda ovako:

Pragma polje pomaže da se uključi direktiva specifična za implementaciju koja se primjenjuje na svakog primaoca u sistemu zahtjeva i odgovora.

Trailer vrijednost polja specificira da li je skup polja zaglavlja u traileru poruke kodiran kodiranjem prijenosa u komadima.

Transfer-Encoding polje pokazuje da li je bilo koja vrsta transformacije primijenjena na tijelo poruke.

Nadogradite polje omogućava klijentima da specificiraju dodatne podržane komunikacijske protokole. Takođe omogućava serveru da prebaci protokole sa dodatnim protokolima.

Via polje su obavezna polja koja koriste proksiji i gateway-i koja označavaju međuprotokole. Također označava primatelja zahtjeva između korisničkog agenta i servera i odgovora između servera i klijenta.

Upozorenje polje sadrži dodatne informacije o statusu poruke i transformacijama poruka koje se ne odražavaju u poruci.

Zaglavlja upozorenja se obično šalju s odgovorima.

Polje zaglavlja zahtjeva omogućava klijentima da dodatno proslijede informacije o zahtjevu i informacije o klijentu serveru.

Struktura zaglavlja zahtjeva izgleda ovako:

Prihvati polje specificira tipove medija koji su prihvatljivi za odgovor.

"*" se koristi za grupisanje tipova medija u rasponu

"* / *" označava sve vrste medija

"tip / *" označava sve podtipove tipa

Prihvati-Charset polje označava prihvatljive skupove znakova za odgovor. To čini klijente sposobnim da razumiju skupove znakova posebne namjene kako bi signalizirali serveru da predstavlja dokument u tim skupovima znakova.

Accept-Encoding polje je slično Accept, ograničava odgovor prihvatljivo kodiranje sadržaja.

Accept-Language polje je slično Accept, ograničava željeni skup prirodnih jezika.

Autorizacija polje je za korisničke agente koji žele da se autentifikuju sa serverom.

Očekujte polje označava ponašanje servera koje zahtijeva klijent.

Od polje sadrži e-mail adresu korisnika koji kontroliše zahtjevnog korisničkog agenta.

Domaćin polje specificira internet host i traženi broj porta resursa iz korisničkog URI-ja.

Ako-Match polje se koristi za pravljenje uslovnih metoda.

Ako-Modificirano-Od polje se koristi za pravljenje uslovne metode. Ako se tražena varijanta ne izmijeni u navedenom vremenu, entitet neće biti vraćen sa servera.

Ako-Nema-Match polje omogućava efikasno ažuriranje keš informacija sa minimalnim troškovima transakcije.

If-Range polje omogućava klijentima da prime dio entiteta koji nedostaje ili na drugi način klijenti mogu tražiti da pošalju cijeli novi entitet.

Ako-Neizmijenjeno-Od polje omogućava serveru da izvrši traženu operaciju ako nije izmijenjena od vremena navedenog u ovom polju.

Max naprijed polje pruža mehanizme sa TRACE i OPTIONS metodama za ograničavanje proksija ili gatewaya za prosljeđivanje zahtjeva.

Proxy Authorization polje omogućava klijentu da identifikuje da bi obezbedio proxy.

Domet polje specificira HTTP entitete u HTTP porukama predstavljene kao niz bajtova. HTTP zahtjev za preuzimanje zahtijeva jedan ili više podopseg entiteta koristeći GET metode.

Referrer polje omogućava klijentima da navedu URI adrese resursa iz kojeg se nalazi Request-URI.

TE polje označava proširenje transfer-kodiranja koje može prihvatiti u odgovoru. Dodatno, ukazuje da li će prihvatiti polja za prikolicu u kodiranju prijenosa u komadima.

Korisnički agent polje sadrži informacije o korisniku-agentu koji je tražio.

HTTP zaglavlje odgovora

Polje zaglavlja odgovora omogućava serveru da prođe dodatne informacije kroz odgovore osim jednostavnog odgovora statusne linije.

Struktura zaglavlja odgovora izgleda ovako:

Accept-Ranges polje omogućava serverima da naznače prihvatanje zahtjeva za raspon resursa.

Dob polje označava pošiljaoca približno vrijeme od kada je server odgovorio.

ETag polje daje trenutnu vrijednost oznake entiteta za zahtjev.

Lokacija polje preusmjerava primaoce na lokacije koje nisu Request-URI kako bi se dovršila identifikacija novog resursa.

Proxy-Authenticate polje je obavezno uključivanje za odgovor proxy autentikacije.

Pokušaj ponovo nakon polje se koristi kao odgovor kada je usluga nedostupna da naznači dužinu perioda u kojem će usluga ostati nedostupna klijentu.

Server polje sadrži informacije o softveru koji server koristi za obradu zahtjeva.

Vary polje označava polje zahtjeva koje određuje da li je predmemorija podobna za korištenje odgovora na zahtjev bez provjere valjanosti odgovora.

WWW-Autentikacija polje se koristi kada je poruka odgovora neovlaštena.

Polja zaglavlja entiteta definiraju metainformacije o tijelu entiteta ili traženom resursu. Format zaglavlja entiteta izgleda ovako:

Dopustiti polje lista skup metoda koje podržava Request-URI identificirani resursi.

Content-Encoding polje se koristi kao modifikator tipa medija.

Sadržaj-Jezik polje opisuje prirodni jezik za klijente entiteta.

Content-Length polje označava veličinu entiteta predstavljenog decimalnim brojem.

Content-Location polje pruža lokaciju resursa za entitet kada mu se može pristupiti s lokacije koja nije Zahtijevani-URI.

Sadržaj-MD5 polje pruža provjeru integriteta poruke (MIC) koristeći MD5 sažetak na tijelu entiteta.

Content-Range polje specificira gdje treba primijeniti djelomično tijelo cijelog tijela entiteta.

Content-Type polje pokazuje da li se tip medija tijela entiteta šalje primaocu ili se GET metoda koristi za slanje zahtjeva.

Ističe polje daje datum/vrijeme nakon kojeg odgovor postaje zastarjeli.

Zadnja izmjena polje označava datum i vrijeme posljednje izmjene varijante.

Redoslijed kojim se ime polja pojavljuje u zaglavlju kada se primi je beznačajan. Uobičajeno, opšta zaglavlja se postavljaju na prvo mjesto, nakon čega slijedi zaglavlje zahtjeva ili odgovora sa zaglavljem entiteta na kraju.

Obavijest o autorskim pravima: Nemojte "kopirati niti prevoditi ovaj članak bez prethodne pismene dozvole sa stranice

HTTP Debugger je HTTP analizator bez proxyja za programere koji pruža mogućnost hvatanja i analize HTTP zaglavlja, kolačića, POST parama, HTTP sadržaja i CORS zaglavlja iz bilo kojeg pretraživača ili desktop aplikacije. Sjajan korisnički interfejs i vrlo jednostavan za korištenje. Nije proxy, nema problema sa mrežom!

U ovom članku ćemo pogledati čemu služe zaglavlja, ne ulazeći u detalje, šta je za šta odgovorno. Opis uloga najčešćih naslova bit će dat u sljedećim člancima.

Svi članci iz ciklusa:

  • Šta su Http zaglavlja? Opća teorija.

HTTP skraćenica za HyperText Transfer Protocol. Protokol je skup pravila po kojima različiti uređaji razmjenjuju podatke. Nastao je 1990-ih. Sada se koristi skoro svuda na internetu. Sve što vidite u prozoru pretraživača primljeno je preko ovog protokola. http zaglavlja su možda glavna stvar u komunikaciji između uređaja. Oni prenose osnovne informacije o uspostavljenoj vezi i informacije koje se prenose preko ove veze.
Pogledajmo komunikacijski dijagram dva uređaja. Neka ovi uređaji budu vaš računar i neki server na internetu:

Kao što vidite, pretraživač je poslao http zahtjev. Moglo bi izgledati otprilike ovako:

GET / other-19 HTTP / 1.1
Domaćin: www.scriptsite.ru
Korisnički agent: Mozilla / 5.0 (Windows; U; Windows NT 6.0; ru; rv: 1.9.1.5) Gecko / 20091102 Firefox / 3.5.5 (.NET CLR 3.5.30729)
Prihvati: tekst / html, aplikacija / xhtml + xml, aplikacija / xml; q = 0,9, * / *; q = 0,8
Prihvati-jezik: ru, en-us; q = 0,7, en; q = 0,3
Accept-Encoding: gzip, deflate
Prihvati-Charset: windows-1251, utf-8; q = 0,7, *; q = 0,7
Keep-Alive: 300
Veza: održavaj-živ

U ovom slučaju, prvi red je red zahtjeva, svi ostali redovi su http-zaglavlja koja nose dodatne informacije o zahtjevu, o klijentu koji traži ovu informaciju, o mnogim drugim stvarima.
Kao odgovor na naš zahtjev, server može poslati sljedeća zaglavlja:

Server: Apache / 2.0.61 (Unix) mod_ssl / 2.0.61 OpenSSL / 0.9.8k mod_dp20 / 0.99.2 PHP / 5.2.5 mod_python / 3.3.1 Python / 2.5.1 mod_ruby / 1.1 Ruby / 1.2 (24.09.2007.)

X-Powered-By: PHP / 5.2.5

Set-Cookie: PHPSESSID = ft47gokfee6amv3eda3k1p93s3; put = /

Kontrola predmemorije: nema skladištenja, nema predmemorije, mora se ponovo potvrditi, naknadna provjera = 0, predprovjera = 0

Pragma: bez keša

Keep-Alive: timeout = 10, max = 1024

Veza: Keep-Alive

Transfer-Encoding: chunked

Content-Type: text / html

Prva linija je statusna linija. Ostali redovi su zaglavlja. Na dijagramu je pokazano da se sadržaj stranice također učitava. Ali ovaj sadržaj obično nije uobičajeno prikazivati ​​u dodacima koji prikazuju zaglavlja. A sadržaj stranice je samo poseban slučaj. Po protokolu, stranica ne mora da se prenosi. Umjesto toga, može se prenijeti slika, zvučna datoteka i video. I svi će imati vrlo različite naslove.

Kako mogu vidjeti http zaglavlja?

Da biste vidjeli http zaglavlja, preporučujem sljedeće dodatke za firefox pretraživač:

Ako koristite Chrome pretraživač, sve informacije možete pogledati klikom na dugme Postavke - Alati - Alati za programere. Kartica mreže.
Ne mogu savjetovati korisnike Opera pretraživača, jer nisam prijatelj sa ovim pretraživačem. Kada su dodaci instalirani i pokrenuti, pokušajte osvježiti stranicu. Odmah ćete vidjeti ogromne liste zahtjeva i odgovora preko kojih je vaš pretraživač komunicirao sa serverom.

Http zaglavlja i pristup im u php

Ako ste php programer, možete pristupiti zaglavljima zahtjeva pomoću funkcije getallheaders (). Da bismo razumjeli njegov rad, izvršimo sljedeći kod:

I dobijamo ispis niza zaglavlja.

Ali češće im se pristupa preko globalne varijable $_SERVER. Gotovo svako http zaglavlje ima slično ime elementa u ovoj varijabli, formirano prema principu HTTP_header_name. Dakle, za isti 'User_Agent' postoji varijabla $ _SERVER ['HTTP_USER_AGENT'];

Funkcija headers_list () koristi se za dobivanje zaglavlja koje će server poslati korisniku. Po pravilu, server kreira potrebna zaglavlja koja nedostaju već na kraju svih skripti. Stoga će ovaj niz sadržavati zaglavlja ili ona koja je server kreirao prije početka izvršavanja skripte (i neće se mijenjati), ili ona koja postavljamo ručno. Mogu se postaviti ručno pomoću funkcije zaglavlja;
Izvršimo sljedeći kod:

Vidjet ćemo ispis zaglavlja spremnih za slanje u trenutku kada se funkcija pozove:

Prvo zaglavlje je postavljeno automatski i nosi ime servera na kojem se skripta izvodi. Drugi montiramo ručno. Ako je pretraživaču potrebno Fruit zaglavlje, uzeo bi ga iz http odgovora servera i koristio ga. Ali pošto našem pretraživaču to nije potrebno, on jednostavno ignoriše liniju koju ne razume.

Struktura http zahtjeva

Naš zahtjev izgleda ovako:

Prvi red u njemu, kao što je ranije spomenuto, je string upita. Sastoji se iz tri dijela:

  • metoda(metod) - ukazuje na vrstu zahtjeva. Najčešće metode su GET, POST, HEAD. O njima će biti pisano u narednom odeljku.
  • put(putanja) - Ovo je obično dio URL-a koji dolazi nakon domene. Na primjer, ako unesete http://www.scriptsite.ru/about/ u adresnu traku, vrijednost putanje će biti / about /.
  • protokol(protokol) - korišteni protokol. Obično se sastoji od "HTTP" i verzije protokola. Moderni pretraživači obično koriste verziju 1.1.

Zatim postoje zaglavlja u obliku nizova u formatu "Naziv: vrijednost".
Inače, podaci o kolačićima se također prenose u ovom zahtjevu kao jedno od zaglavlja. Većina ovih linija je opciona. Upit se može skratiti na dva reda ukupno:

GET / article / show / 4 / HTTP / 1.1

Host: scriptsite.ru

Request Methods

GET

get request se obično koristi za traženje dokumenta koji propušta neke parametre.
Ovo je glavna metoda koja se koristi za dobivanje html stranica, slika, CSS i JavaScript datoteka, itd.
Zbog činjenice da parametri mogu biti bilo koji, a na serveru nema ograničenja za metode njihove obrade, često se za prijenos informacija koristi metoda za traženje podataka. Na primjer, imat ćemo ovakav obrazac

U tom slučaju, ovi parametri će biti vidljivi u adresnoj traci pretraživača.

POŠTA

Objava je metoda koja se koristi za slanje podataka na server. Iako možete slati podatke na server koristeći GET metodu preko adresne trake pretraživača, u većini slučajeva preferira se POST. Slanje velikih količina podataka putem GET-a je nepraktično. Osim toga, GET ima neka ograničenja koja ne dozvoljavaju, na primjer, objavljivanje ovog članka na mojoj web stranici kroz samo jednu liniju pretraživača. POST zahtjevi se najčešće koriste za podnošenje web obrazaca. Izmijenimo obrazac iz prethodnog primjera dajući mu metodu POST

Top srodni članci