Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ
  • në shtëpi
  • OS
  • Si të gjeni dhe kapërceni BOM - një gabim i pakëndshëm në WordPress. Zgjidhja e problemit "Nuk mund të shtohet informacioni i kokës - titujt janë dërguar tashmë" Titujt e shëmtuar të informacionit

Si të gjeni dhe kapërceni BOM - një gabim i pakëndshëm në WordPress. Zgjidhja e problemit "Nuk mund të shtohet informacioni i kokës - titujt janë dërguar tashmë" Titujt e shëmtuar të informacionit

Ky gabim është i lehtë për t'u rregulluar.
Shpesh i njëjti mesazh shfaqet në fillim të seancave, me një formulim paksa të ndryshëm:
Paralajmërim: Nuk mund të dërgohet skedari i sesionit - titujt janë dërguar tashmë
Paralajmërim: Nuk mund të dërgohet kufizuesi i memories së sesionit - titujt janë dërguar tashmë

Shenja e rendit të bajtit
Ndonjëherë ju keni kontrolluar GJITHÇKA dhe nuk ka asgjë atje. Ndrysho redaktorin. Shikoni skedarin tuaj në një program tjetër. Për shembull, Windows Notepad, kur përdor kodimin Unicode, shton një karakter shërbimi Bajt Order Mark në fillim të skedarit tuaj, pa ju informuar në asnjë mënyrë. Hapni skenarin në një redaktues tjetër dhe hiqni çdo karakter të jashtëm. Dhe ndryshoni Notepad në një redaktues tjetër.
Ose ruani në kodimin UTF-8 pa BOM

Pyetjet e shumta në forum më detyrojnë të bëj këtu shënim i rëndësishëm:
Ky gabim nuk shfaqet sepse "diçka është shkruar më lart" në skenarin tuaj. Dhe nga fakti që PHP shfaq diçka në shfletues. Ky nuk është domosdoshmërisht kod. Mund te jete mesazh gabimi. mund të jetë një hapësirë ​​ose një etiketë HTML. Po Po. Për më të talentuarit: po flasim për çdo personazh të dërguar në shfletues, dhe jo vetëm ata që shfletuesi i shfaq një përdoruesi të papërvojë. Faqet HTML kanë tekst burim. Dhe pikërisht kjo është rezultat i punës së një skenari PHP, dhe jo shkronja të bukura me foto, siç mendojnë një numër shumë i madh njerëzish.

Është e mahnitshme se si një gabim i vogël mund ta bëjë faqen tuaj të WordPress plotësisht të pafuqishme. Ne po flasim, natyrisht, për gabimin e famshëm paralajmërues të WordPress Paralajmërim: nuk mund të modifikojë informacionin e kokës - titujt e dërguar tashmë nga pluggable.php (nuk mund të ndryshojë informacionin e kokës). Nëse jeni një nga ata që po përballen me këtë gabim, atëherë keni ardhur në vendin e duhur. Në këtë, ne do të diskutojmë arsyen pse ky gabim shfaqet në radhë të parë dhe do të shikojmë zgjidhjet që do ta zgjidhin problemin përgjithmonë.

Çfarë ju duhet

Para se të filloni, sigurohuni që të keni sa vijon:

  • Qasja në panelin e kontrollit të pritjes ose aksesin FTP

Si ndodh informacioni i titullit Nuk mund të modifikohet - titujt e dërguar tashmë me gabim?

Le të shohim një shembull të këtij gabimi për të kuptuar më mirë arsyet. Gabimi zakonisht shfaqet në këtë formë:

Paralajmërim: Nuk mund të modifikohet informacioni i kokës - titujt e dërguar tashmë nga (dalja filloi në /public_html/wp-content/plugins/my-plugin/my-function.php:#) në /public_html/wp-includes/pluggable.php në linjë #

Siç mund ta shihni, gabimi përmend dy skedarë. Dosja e parë (në rastin tonë: my-function.php Postuar ne /public_html//wp-content/plugins/my-plugin/) në krye të të dyshuarve. Ky është kodi ynë i personalizuar që është krijuar për të modifikuar funksionalitetin bazë të ofruar nga WordPress. Funksionaliteti kryesor është në skedar i mbyllshëm.php(Skedari bazë i WordPress, i pandryshuar për çdo instalim të WordPress). Me fjalë të tjera, problemi është në skedarin e parë, i cili pengon ekzekutimin e duhur të skedarit të dytë.

Shkaku kryesor i gabimit është i panevojshëm hapësira në skedarin e parë. Këto janë hapësira në krye ose në fund të skedarit, hapësira të panevojshme kudo në skedar, apo edhe hapësira në etiketat PHP . Nga rruga, për shkak se programuesit mund (dhe zakonisht bëjnë) gabimisht të fusin hapësira shtesë në kodin e tyre, ky gabim ndodh më shpesh sesa mund të prisni. Rreshti # i dhënë në mesazhin e gabimit i referohet vendndodhjes së problemit - kjo do të ndihmojë në zgjidhjen e problemit më shpejt dhe pa bujë.

Rregullimi i gabimit nuk mund të modifikojë informacionin e kokës - titujt janë dërguar tashmë nga

Tani që e dini se çfarë e shkakton gabimin, mund të vazhdoni në rregullimin e tij. Ne do t'ju tregojmë dy opsione për të rregulluar problemin, të cilat mund t'i provoni individualisht ose me radhë nëse individualisht nuk ju ndihmon.

Opsioni 1 - Redaktimi i skedarit të gabuar

Zgjidhja e parë e gabimit Paralajmërim: nuk mund të modifikojë informacionin e kokës– korrigjimi manual i një skedari me një gabim. Ju tashmë keni informacionin e nevojshëm për të gjetur problemin në vetë mesazhin e gabimit (mos harroni, ky është skedari i parë në mesazh). E tëra çfarë ju duhet të bëni është ta hapni këtë skedar përmes FTP duke përdorur një klient si FileZilla ose përmes një menaxheri skedari.

Në thelb, gjithçka që duhet pasur parasysh këtu është heqja e hapësirave shtesë/vijave bosh nga skedari. Një vend i mirë për të filluar është rreshti # i përmendur në mesazhin e gabimit. Nga këtu, mund të vazhdoni të analizoni pjesën tjetër të skedarit, duke kërkuar hapësira të tjera të panevojshme ose vija boshe, deri në fund të dokumentit.

Sigurohuni që të shkruani saktë etiketat e fillimit dhe të përfundimit të PHP. Nuk duhet të ketë hapësirë ​​para ose pas etiketës , si dhe tag ?> . Gjithashtu, rreshti i fundit i kodit nuk duhet të përfundojë me një hapësirë ​​ose një furnizim shtesë të linjës.

Në pamjen e mëposhtme të ekranit mund të shihni skedarin wp-config.php, i cili ka hapësira përpara etiketës së parë PHP.


GJENDJE: Shumë redaktues teksti mund të heqin automatikisht hapësirat e panevojshme. Për shembull, për të hequr hapësirat shtesë në redaktuesin Atom, theksoni të gjithë kodin dhe shkoni te P ackages -> Hapësira e bardhë -> Hiq hapësirën e bardhë pasuese.

Opsioni 2 - Zëvendësoni skedarin e gabuar

Sigurisht, redaktimi i një serie të tërë skedarësh me gabime mund të jetë i vështirë. Skedarët mund të lidhen me një shtojcë ose temë që sapo keni instaluar në faqen tuaj ose mund të jenë edhe skedarë bazë të WordPress.

Nëse gabimi është shkaktuar me të vërtetë nga një shtojcë ose temë, gjithçka që duhet të bëni është ta riinstaloni atë. Ky veprim ndihmon në shumicën e rasteve. Nga ana tjetër, nëse skedari bazë i WordPress është shkaku i gabimit, zgjidhja më e mirë është të merrni një kopje të pastër të WordPress dhe të zëvendësoni skedarin me gabimin në instalimin tuaj me të njëjtin në versionin e duhur. Kjo do të sigurojë që skedari i gabuar të rikthehet në gjendjen e tij origjinale, ndërsa pjesa tjetër e instalimit të faqes suaj të WordPress mbetet e paprekur. Tani, thjesht ringarkoni faqen dhe sigurohuni që gabimi të jetë rregulluar.

Në përfundim

Pavarësisht nëse keni ngjitur një pjesë të kodit në një skedar, keni shtuar një shtesë/temë të re ose keni shkruar kodin me dorë, ekziston rreziku që hapësira shtesë të shfaqen në skedar. Këto hapësira në dukje të pafajshme mund të kthehen në një gabim të WordPress Paralajmërim: nuk mund të modifikohet informacioni i kokës - titujt janë dërguar tashmë nga.

Në këtë udhëzues, ne shikuam se si të rregullojmë gabime të tilla dhe tani faqja juaj po funksionon përsëri siç pritej. Më shumë mësime për WordPress mund të gjenden këtu.

Autori

Elena ka një arsim teknik profesional në fushën e teknologjisë së informacionit dhe përvojë në programim në gjuhë të ndryshme për platforma dhe sisteme të ndryshme. Ajo i ka kushtuar më shumë se 10 vjet industrisë së uebit, duke punuar me CMS të ndryshme, si Drupal, Joomla, Magento dhe, natyrisht, sistemin më të njohur të menaxhimit të përmbajtjes këto ditë - WordPress. Artikujt e saj janë gjithmonë të verifikuar teknikisht dhe të saktë, qoftë ky një rishikim për WordPress ose udhëzime për konfigurimin e serverit tuaj VPS.

Një ditë, kur shkova në blogun tim, u befasova kur gjeta një gabim të pakuptueshëm, diçka si:

Paralajmërim: Nuk mund të modifikohet informacioni i kokës - titujt janë dërguar tashmë nga (dalja filloi në /xxxxxxxx/wp-config.php:1)

Për më tepër, nuk ka asnjë mënyrë për të hyrë në panelin e administratorit. Shkova menjëherë për të kontrolluar se çfarë nuk shkonte me skedarin wp-config.php. Gjithçka ishte në vend, fjalëkalimet e bazës së të dhënave ishin të sakta. Mendova se ishte hakuar përsëri)) Por përsëri, asnjë shenjë vandalizmi nuk u vu re në FTP. Gjëja më e çuditshme (kjo përfundimisht më ngatërroi plotësisht) ishte se vetëm lidhja me sitin pa www nuk funksionoi, ose anasjelltas (nuk e mbaj mend saktësisht). Fillova të kontaktoj hosterin, duke parë cilësimet në panelin e administratorit të domenit - në përgjithësi, shumë gjëra.

Por doli të ishte shumë më e thjeshtë - në fillim të skedarit të konfigurimit kishte një BOM të caktuar— shënues (nënshkrimi) për skedarët UTF-8. Kjo është arsyeja pse u shfaq gabimi i mësipërm. Për të mos lejuar që kjo të ndodhë me ju, para së gjithash duhet të përdorni redaktorët e kodit që ose nuk e vendosin fare këtë nënshkrim, ose para se të ruani skedarin sqarojnë nëse është i nevojshëm.

Në disa redaktues teksti, mund të gjeni kutitë e kontrollit "Përfshi nënshkrimin e Unicode (BOM)", "Shto shenjën e porosisë së bajtit" ose të ngjashme në cilësimet. Përndryshe, pa qenë në gjendje të çaktivizoni një opsion të panevojshëm në një program të caktuar, nuk rekomandohet përdorimi i tij. Në forume të specializuara mund të gjeni një listë të redaktuesve të mirë të tekstit, këto janë: Notepad2, PSPad, UnicEdit, Notepad++. Në përgjithësi, është shkruar shumë për këtë të fundit; është një mjet mjaft i fuqishëm. Disi, rastësisht, kisha një redaktues alternativ të disponueshëm në kompjuterin tim - Akelpad— E përdor për detyra të ngjashme.

Një pikë tjetër që vlen të përmendet është se një gabim me BOM mund të ndodhë jo vetëm në skedarin wp-config.php. Për më tepër, nëse opsioni i shfaqjes së paralajmërimeve është i çaktivizuar, nuk do të shihni fare se ku ka hyrë problemi. Në raste të tilla (dhe të gjitha të tjerat) unë do të rekomandoja përdorimin e një të thjeshtë skript për kërkimin e skedarëve me BOM. Yuri Belotitsky duhet të falënderohet për zhvillimin.

Përdorimi i skriptit është shumë i thjeshtë.

  1. skedari i kërkuar
  2. Ngarkoni atë në serverin FTP në direktorinë rrënjë. Nëse WordPress nuk është i instaluar në rrënjën e faqes (por në dosjen e blogut, për shembull), atëherë skripti duhet të vendoset në drejtorinë ku ndodhet WordPress dhe të ekzekutohet prej andej.
  3. Nisja është shumë e thjeshtë - thjesht shkruani në shiritin e adresave të shfletuesit tuaj lidhjen http://your.site/find_bom.php

Si rezultat, do të merrni një listë të skedarëve që janë të gabuar. Nga rruga, për të shpejtuar punën, skripti kontrollon vetëm ato drejtori ku përdoruesit zakonisht ngarkojnë skedarë - rrënjë, /wp-content/themes dhe /wp-content/plugins.

Kjo është në thelb ajo. Sa e vështirë ishte për të zgjidhur një problem kaq të thjeshtë. Shpresoj se ju kam ndihmuar pak me përvojën time, dhe tani kur të shfaqet paralajmërimi përkatës, do të dini se çfarë të bëni :) Nëse nuk mund të rregulloni një ose një skedar tjetër nga BOM, thjesht mund të ngarkoni një të ri nga Shpërndarja e WordPress.

P.S. Një vend i përshtatshëm për porsamartuar është organizimi i banketeve dhe zgjidhja e të gjitha çështjeve që lidhen me dasmën.

Kuptimi i titujve HTTP dhe fushave të kokës HTTP

Titujt HTTP siguroni informacionin jetik të kërkuar për një transferim HTTP të dërguar nëpërmjet protokolli http.

Formati i përgjithshëm i titullit HTTP përmban çifte emri - vlerash të ndara me dy pika në fushën e kokës. Secili nga çifti emër-vlerë përfundon me një sekuencë karakteresh të kthimit (CR) dhe një linjë të furnizimit (LF). Fushat boshe në fund të çdo titulli tregojnë fundin e titullit.

Formati i zakonshëm i kokës i ndjekur nga aplikacionet duket si:

Llojet e titujve HTTP

Ekzistojnë katër lloje të titujve të mesazheve HTTP. Ata janë:

  • Kreu i Përgjithshëm
  • Kreu i kërkesës
  • Kreu i përgjigjes
  • Kreu i entitetit

Kreu i Përgjithshëm

Fushat e titullit të përgjithshëm kanë zbatueshmëri të përbashkët në mesazhet e kërkesës dhe përgjigjes. Fushat e titullit zbatohen vetëm për mesazhin e transmetuar dhe nuk zbatohen në entitetin e transferuar.

Struktura e një titulli të përgjithshëm duket si kjo:

Cache-kontroll fusha specifikon direktivat që duhet të ndiqen nga çdo mekanizëm memorie në një sistem kërkese dhe përgjigjeje.

Lidhje fusha i lejon dërguesit të specifikojë opsionet e nevojshme për një lidhje. Kreu i lidhjes ka formatin e mëposhtëm:

Data fusha paraqet datën dhe orën gjatë inicimit të mesazhit. Formati i datës i specifikuar në HTTP duket kështu:

Pragma fushë ndihmon për të përfshirë direktivat specifike të zbatimit të zbatueshme për çdo marrës në një sistem kërkese dhe përgjigjeje.

Rimorkio vlera e fushës specifikon nëse një grup i fushave të kokës në trailerin e mesazhit është i koduar me kodim të transferimit të pjesëve.

Transferimi-Enkodimi fusha tregon nëse ndonjë lloj transformimi është aplikuar në trupin e mesazhit.

Përmirëso fusha u mundëson klientëve të specifikojnë protokollet shtesë të komunikimit të mbështetur. Gjithashtu i mundëson serverit të ndërrojë protokollet me protokollet shtesë.

Nëpërmjet fusha janë fusha të detyrueshme të përdorura nga proxies dhe gateway të cilat tregojnë protokollet e ndërmjetme. Ai gjithashtu tregon marrësin e kërkesës midis agjentit të përdoruesit dhe serverit dhe përgjigjen midis serverit dhe klientit.

Paralajmërim fusha mbart informacion shtesë mbi statusin e mesazhit dhe transformimet e mesazhit të cilat nuk pasqyrohen në mesazh.

Titujt e paralajmërimit zakonisht dërgohen me përgjigje.

Fusha e kokës së kërkesës lejon klientët të kalojnë në server informacionin e kërkesës dhe informacionin e klientit.

Struktura e kokës së kërkesës duket si kjo:

Pranoje fusha specifikon llojet e mediave që janë të pranueshme për përgjigje.

"*" përdoret për të grupuar llojet e mediave në interval

"*/*" tregon të gjitha llojet e mediave

"type/*" tregon të gjitha nëntipet e një lloji

Prano-Charset fusha tregon grupe të pranueshme karakteresh. Ai i bën klientët të aftë të kuptojnë grupe karakteresh për qëllime të veçanta për të sinjalizuar serverin që të përfaqësojë dokumentin në këto grupe karakteresh.

Prano-Enkodim fusha është e ngjashme me Prano, kufizon kodimin e përmbajtjes së pranueshme të përgjigjes.

Prano-Gjuha fusha është e ngjashme me Prano, kufizon grupin e preferuar të gjuhëve natyrore.

Autorizimi fusha është për agjentët e përdoruesve që dëshirojnë të vërtetojnë veten me serverin.

presin fusha tregon sjelljet e serverit të kërkuara nga një klient.

Nga fusha përmban adresën e postës elektronike të një përdoruesi që kontrollon agjentin e përdoruesit që kërkon.

Mikpritës fusha specifikon hostin e internetit dhe numrin e portës së burimit të kërkuar nga përdoruesi URI.

Nëse-Match fusha përdoret për të bërë metoda të kushtëzuara.

Nëse-Modifikuar-Që fusha përdoret për të bërë një metodë të kushtëzuar. Nëse varianti i kërkuar nuk modifikohet brenda kohës së caktuar, entiteti nuk do të kthehet nga serveri.

Nëse-Asnjë-Përputhje fusha lejon përditësimin efikas të informacionit të cache-it me kosto minimale të transaksionit.

Nëse-Raga fusha i lejon klientët të marrin një pjesë të entitetit që mungon ose përndryshe, klientët mund të kërkojnë të dërgojnë të gjithë entitetin e ri.

Nëse-Unmodifikuar-Që fusha lejon serverin të kryejë operacionin e kërkuar nëse nuk është modifikuar që nga koha e specifikuar në këtë fushë.

Max Përpara fusha ofron mekanizma me metodat TRACE dhe OPTIONS për të kufizuar proxies ose portat e dërgimit të kërkesave.

Autorizimi i përfaqësuesit fusha lejon klientin të identifikojë një përfaqësues të sigurt.

Gama fusha specifikon entitetet HTTP në mesazhet HTTP të përfaqësuara si një sekuencë bajtash. Kërkesa për rikuperim HTTP kërkon një ose më shumë nënvarg entiteti duke përdorur metodat GET.

Referues fusha i lejon klientët të specifikojnë adresën URI të burimit nga i cili gjendet Kërkesa-URI.

T.E. fusha tregon kodimin e transferimit të zgjerimit që mund të pranojë në përgjigje. Për më tepër, ai tregon nëse do të pranojë fushat e rimorkios në kodimin e transferimit të pjesëve.

Përdorues-Agjent fusha përmban informacion në lidhje me agjentin e përdoruesit kërkues.

Kreu i përgjigjes HTTP

Fusha e kokës së përgjigjes i lejon serverit të kalojë informacion shtesë përmes përgjigjeve, përveç përgjigjes së thjeshtë Status-Line.

Struktura e kokës së përgjigjes duket si kjo:

Prano-Rangjet fusha u mundëson serverëve të tregojnë pranimin e kërkesave të gamës së burimeve.

Mosha fusha tregon dërguesin kohën e përafërt që kur serveri është përgjigjur.

ETag fusha ofron vlerën aktuale të etiketës së entitetit për një kërkesë.

Vendndodhja fusha i ridrejton marrësit në vendndodhje të ndryshme nga Request-URI për të përfunduar identifikimin e një burimi të ri.

Proxy-Authenticate fusha është një përfshirje e detyrueshme për përgjigjen e vërtetimit të përfaqësuesit.

Riprovo-Pas fusha përdoret si përgjigje kur një shërbim nuk është i disponueshëm për të treguar kohëzgjatjen e periudhës për të cilën shërbimi do të mbetet i padisponueshëm për klientin.

Serveri fusha përmban informacion në lidhje me softuerin e përdorur nga serveri për të trajtuar kërkesat.

Ndryshon Fusha tregon fushën e kërkesës që përcakton nëse një cache është e pranueshme për të përdorur përgjigjen e një kërkese pa rivlerësim të përgjigjes.

WWW-Vërteto fusha përdoren kur një mesazh përgjigjeje është i paautorizuar.

Fushat e titullit të entitetit përcaktojnë metainformacionin për trupin e njësisë ekonomike ose burimin e kërkuar. Formati i kokës së entitetit duket si:

Lejo lista e fushave grupi i metodave të mbështetura nga burimet e identifikuara Request-URI.

Përmbajtja-Enkodimi fusha përdoret si modifikues i tipit media.

Përmbajtja-Gjuha fusha përshkruan gjuhën natyrore për klientët e një entiteti.

Përmbajtja-Gjatësia fusha tregon madhësinë e një entiteti të paraqitur në numër dhjetor.

Përmbajtja-Vendndodhja fusha ofron vendndodhjen e burimit për një ent kur është i aksesueshëm nga një vendndodhje tjetër përveç URI-së së kërkuar.

Përmbajtja-MD5 fusha ofron kontrollin e integritetit të mesazhit (MIC) duke përdorur një përmbledhje MD5 në trupin e njësisë ekonomike.

Gama e përmbajtjes fusha specifikon se ku duhet të aplikohet trupi i pjesshëm i entitetit-trupit të plotë.

Lloji i përmbajtjes fusha tregon nëse lloji i medias së trupit të njësisë ekonomike i dërgohet marrësit ose metoda GET përdoret për dërgimin e kërkesave.

Skadon fusha jep datën/kohën pas së cilës përgjigja bëhet e ndenjur.

E modifikuara e fundit fusha tregon datën dhe orën e modifikimit të fundit të variantit.

Radha në të cilën emri i fushës shfaqet në kokë kur merret është i parëndësishëm. Në mënyrë konvencionale, titujt e përgjithshëm vendosen së pari, të ndjekur nga titulli i kërkesës ose përgjigjes me kokën e entitetit në fund.

Njoftim për të drejtën e autorit: Ju lutemi mos e kopjoni ose përktheni këtë artikull pa leje paraprake me shkrim nga faqja

HTTP Debugger është një analizues HTTP pa proxy për zhvilluesit që ofron aftësinë për të kapur dhe analizuar titujt HTTP, kukit, parametrat POST, përmbajtjen HTTP dhe kokat CORS nga çdo shfletues ose aplikacion desktopi. UI i mrekullueshëm dhe shumë i lehtë për t'u përdorur. Jo një përfaqësues, nuk ka probleme me rrjetin!

Në këtë artikull do të shikojmë se për çfarë nevojiten titujt, pa hyrë në detaje se cili është përgjegjës për çfarë. Rolet e titujve më të zakonshëm do të përshkruhen në artikujt vijues.

Të gjithë artikujt nga seria:

  • Cilat janë kokat e Http? Teori e përgjithshme.

HTTP do të thotë HyperText Transfer Protocol. Një protokoll është një grup rregullash me të cilat pajisje të ndryshme shkëmbejnë të dhëna. Ajo u krijua në vitet 1990. Tani përdoret pothuajse kudo në internet. Gjithçka që shihni në dritaren e shfletuesit tuaj është marrë përmes këtij protokolli. Titujt http janë ndoshta gjëja kryesore në komunikimin midis pajisjeve. Ato përcjellin informacionin bazë për lidhjen që krijohet dhe informacionin që transmetohet përmes kësaj lidhjeje.
Le të hedhim një vështrim në diagramin e komunikimit midis dy pajisjeve. Lërini këto pajisje të jenë kompjuteri juaj dhe ndonjë server në internet:

Siç mund ta shihni, shfletuesi dërgoi një kërkesë http. Mund të duket diçka si kjo:

GET /të tjera-19 HTTP/1.1
Pritësi: www.scriptsite.ru
Agjenti i përdoruesit: 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)
Prano: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Prano-Gjuha: ru,en-us;q=0.7,en;q=0.3
Prano-Enkodimi: gzip, deflate
Prano-Charset: Windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Lidhja: mbaj gjallë

Në këtë rast, rreshti i parë është linja e kërkesës, të gjitha linjat e tjera janë kokë http që përmbajnë informacion shtesë për kërkesën, për klientin që po kërkon këtë informacion dhe për shumë gjëra të tjera.
Në përgjigje të kërkesës sonë, serveri mund të dërgojë titujt e mëposhtëm:

Serveri: 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.2.6 Ruby/1. (2007-09-24)

X-Powered-By: PHP/5.2.5

Set-Cookie: PHPSESSID=ft47gokfee6amv3eda3k1p93s3; rrugë =/

Cache-Control: pa dyqan, pa memorie, duhet të rivlerësohet, pas-kontroll=0, kontroll paraprak=0

Pragma: pa memorie

Keep-Alive: skadimi = 10, maksimumi = 1024

Lidhja: Keep-Alive

Transferimi-Enkodimi: i copëtuar

Lloji i përmbajtjes: tekst/html

Rreshti i parë është vija e statusit. Linjat e mbetura janë kokë. Diagrami tregoi se përmbajtja e faqes është gjithashtu e ngarkuar. Por kjo përmbajtje zakonisht nuk shfaqet në shtojcat e shikuesit të kokës. Dhe përmbajtja e faqes është vetëm një rast i veçantë. Sipas protokollit, faqja nuk duhet domosdoshmërisht të transmetohet. Në vend të kësaj, mund të transmetohet një fotografi, një skedar zanor dhe një video. Dhe të gjithë do të kenë tituj shumë të ndryshëm.

Si të shihni titujt http?

Për të parë titujt http, unë rekomandoj shtojcat e mëposhtme për shfletuesin firefox:

Nëse përdorni shfletuesin Chrome, mund t'i shikoni të gjitha informacionet duke klikuar në butonin e cilësimeve - veglat - mjetet e zhvilluesit. Skeda Rrjetet.
Nuk mund t'u jap asnjë këshillë përdoruesve të shfletuesit Opera, pasi nuk jam mik me këtë shfletues. Pasi shtojcat të jenë instaluar dhe ekzekutuar, provoni të rifreskoni faqen. Do të shihni menjëherë lista të mëdha kërkesash dhe përgjigjesh përmes të cilave shfletuesi juaj komunikonte me serverin.

Titujt e Http dhe qasja në to në php

Nëse jeni një zhvillues PHP, mund të përdorni titujt e kërkesave duke përdorur funksionin getallheaders(). Për të kuptuar se si funksionon, le të ekzekutojmë kodin e mëposhtëm:

Dhe ne marrim një printim të grupit të kokës.

Por më shpesh ato aksesohen përmes ndryshores globale $_SERVER. Pothuajse çdo kokë http ka një emër të ngjashëm elementi në këtë variabël, të formuar sipas parimit HTTP_header_name. Pra, për të njëjtin 'User_Agent' ekziston një variabël $_SERVER['HTTP_USER_AGENT'];

Për të marrë titujt që serveri do t'i dërgojë përdoruesit, përdoret funksioni headers_list(). Si rregull, serveri kompozon titujt e kërkuar që mungojnë në fund të të gjitha skripteve. Prandaj, ky grup do të përmbajë titujt ose ato që serveri krijoi përpara se skripti të fillonte të ekzekutohej (dhe ato nuk do të ndryshohen), ose ato që ne i vendosëm manualisht. Ato mund të vendosen manualisht duke përdorur kokën e funksionit ("teksti i kokës");
Le të ekzekutojmë kodin e mëposhtëm:

Ne do të shohim një printim të titujve të gatshëm për t'u dërguar në kohën kur thirret funksioni:

Kreu i parë u vendos automatikisht dhe mban emrin e serverit në të cilin po ekzekutohet skripti. E dyta u instalua manualisht nga ne. Nëse shfletuesi do të kishte nevojë për titullin "Fruit", ai do ta merrte atë nga përgjigja http i serverit dhe do ta përdorte atë. Por meqenëse shfletuesi ynë nuk ka nevojë për të, ai thjesht injoron linjën që nuk e kupton.

Struktura e kërkesës HTTP

Kërkesa jonë duket si kjo:

Rreshti i parë në të, siç u përmend më herët, është linja e pyetjes. Ai përbëhet nga tre pjesë:

  • metodë(metodë) - tregon se çfarë lloj kërkese. Metodat më të zakonshme: GET, POST, HEAD. Për to do të shkruhet në paragrafin tjetër.
  • rrugë(rruga) - zakonisht kjo është pjesa e URL-së që vjen pas domenit. Për shembull, nëse futni http://www.scriptsite.ru/about/ në shiritin e adresave, vlera e rrugës do të jetë /about/.
  • protokoll(protokolli) - protokolli i përdorur. Zakonisht përbëhet nga "HTTP" dhe versioni i protokollit. Në mënyrë tipike, shfletuesit modern përdorin versionin 1.1

Më pas vijnë titujt në formën e vargjeve të formatit "Emri: vlera".
Nga rruga, të dhënat e cookie-ve transmetohen gjithashtu në këtë kërkesë si një nga titujt. Shumica e këtyre rreshtave janë opsionale. Kërkesa mund të reduktohet në vetëm dy rreshta:

GET /article/show/4/ HTTP/1.1

Pritësi: scriptsite.ru

Metodat e Kërkesës

MARR

Një kërkesë për marrjen zakonisht përdoret për të kërkuar një dokument dhe për të kaluar disa parametra.
Kjo është metoda kryesore e përdorur për të marrë faqe HTML, imazhe, skedarë CSS dhe JavaScript, etj.
Për shkak të faktit se parametrat mund të jenë çdo gjë, dhe serveri nuk ka kufizime se si mund të përpunohen, metoda e kërkesës së të dhënave shpesh përdoret për të transferuar informacion. Për shembull, do të kemi një formë të tillë

Në këtë rast, këto parametra do të jenë të dukshme në shiritin e adresave të shfletuesit.

POST

Postimi është metoda e përdorur për të dërguar të dhëna në server. Megjithëse mund të dërgoni të dhëna në server duke përdorur metodën GET përmes shiritit të adresave të shfletuesit, në shumicën e rasteve preferohet të përdorni POST. Dërgimi i sasive të mëdha të të dhënave nëpërmjet GET është jopraktike. Për më tepër, GET ka disa kufizime që nuk lejojnë, për shembull, publikimin e këtij artikulli në faqen time të internetit përmes vetëm një linje shfletuesi. Kërkesat POST përdoren më shpesh për të paraqitur formularë në internet. Le të modifikojmë formën nga shembulli i mëparshëm për t'i dhënë asaj një metodë POST

Artikujt më të mirë mbi këtë temë