Vad är get-metoden dataöverföring. Åtgärdsattribut och metod
Det finns två begrepp som är gemensamma för nästan alla program – bearbetning av indata och utmatning av resultat. På den här sidan kommer vi att fokusera på att hantera inmatningen av CGI-program. För det första, var kommer indata ifrån, och för det andra, hur skickas indata till servern. För att skriva effektiva CGI-program måste du ha en klar förståelse för dessa saker.
Lite om HTTP
Servern accepterar tre typer av förfrågningar: GET, POST och HEAD. Programförfrågan till webbservern ser ut så här:
Hämta /index.html HTTP / 1.0
Den första delen, i det här fallet GET, är förfrågningsmetoden, den andra, index.html, är den begärda URL:en och den tredje, HTTP / 1.0, är protokollet som används av klienten.
De två huvudsakliga förfrågningsmetoderna är GET och POST. Det här är samma metoder som är tillgängliga för dig när du skapar ett formulär. HEAD-metoden används sällan av webbläsaren eftersom den bara begär svarshuvudet och svarstexten skickas inte i detta fall. För att till exempel kontrollera om sidan har ändrats kan webbläsaren fråga efter en rubrik, men detta genererar inte ett fullständigt datautbyte.
GET-metoden
Som standard använder begäran metoden GET. POST-metoden används endast när den uttryckligen anges i formulärförfrågan. Det är mycket viktigt för en CGI-programmerare att förstå att när en GET-begäran görs skickas formulärdata till servern tillsammans med URL:en. Webbservrar som stöder CGI kopierar dessa data till miljöfaktor heter QUERY_STRING. Därefter ansvarar CGI-programmet för att hämta data från miljövariabeln och bearbeta den.
URL:en med frågesträngen ser ut så här:
Http://www.domen-name.com/login.pl?nick=maks&psw=parol
Skylt? separerar frågesträngen från resursens faktiska URL; nick och psw är variabler som skickas till servern, maks och parol är deras värden.
POST-metoden
POST-metoden används när den uttryckligen anges i formulärets METHOD-attribut. Till skillnad från GET-metoden placerar POST inte data i URL:en utan i förfrågans brödtext. En POST-begäran är mycket som ett HTTP-svar. Den första raden är en standard HTTP-begäran som anger POST-metoden. Den kan innehålla de nödvändiga ytterligare rubrikerna, separerade från förfrågningskroppen med en tom rad.
När POST-metoden används skickas förfrågningstexten till programmet som standardinmatning.
Välj mellan GET och POST
Det är uppenbart att när man utvecklar formulär kommer en CGI-programmerare att ställas inför frågan om vilken av dessa metoder som ska användas. I de flesta fall kommer båda metoderna att fungera och båda kommer att fungera bra. Det finns dock situationer då användningen av en eller annan metod ger vissa fördelar.
Låt oss titta på några situationer där det är vettigt att föredra GET- eller POST-metoden.
- Om du vill att ditt program ska anropas genom referens bör GET-metoden föredras.
- Om du inte vill att argumenten som skickas till ditt program ska skrivas till serverloggfilen, använd POST-metoden. Till exempel, om ett formulär kräver ett användarnamn och lösenord, vill du förmodligen inte att namnen och lösenorden ska sparas i rapportfilen. Det är inte heller klokt att skicka lösenordet som en del av URL:en.
- Om ditt formulär har betydande dimensioner, till exempel har det textrutor med anteckningar och kommentarer, bör du använda POST-metoden. Generellt sett kan du använda GET-metoden också i det här fallet, men då kan du stöta på begränsningar av URL-storlek som är olika för olika operativsystem och webbläsare (begränsad av storleken på miljövariabler). Det är lättare att använda POST-metoden.
- Om ditt formulär innehåller ett filfält, använd POST-metoden. Dessutom måste du i det här fallet ställa in värdet på ENCTYPE-attributet till multipart / form-data.
GET metoder och POST till HTTP och HTTPS är två av de mest populära metoderna som används för att överföra data från en klient till en server med hjälp av HTTP-protokollet (Hypertext Transfer Protocol). Både GET och POST kan användas för att skicka en förfrågan och ta emot ett svar, men det finns en betydande skillnad mellan de två.
Skillnaden mellan GET- och POST-förfrågningar i HTTP eller HTTPS är en populär fråga i varje webbprogrammeringsintervju. Eftersom HTML är oberoende av webbserverteknologi som Java, ASP eller PHP och HTTP är huvudprotokollet i internetutrymmet, kan vikten av att förstå GET- och POST-metoderna inte tydligt ignoreras. I den här artikeln kommer vi att titta på vad en HTTP GET-metod är, vad en HTTP POST-metod är, när man ska använda en viss begäran och vad som är skillnaden mellan dem. Låt oss analysera varje koncept separat.
Vad är HTML?
HTML är det språk som används för att skapa webbsidor. Hypertext hänvisar till hyperlänkar som en HTML-sida kan innehålla. Markup language hänvisar till det sätt på vilket taggar används för att definiera layouten på sidan och elementen på sidan.
Nedan är HTML-exempel som används för att definiera en grundläggande webbsida med en rubrik och ett stycke text:
<Голова>
<Название>TechTerms.com название>
HEAD>
<Тело>
Detta är ett exempel på ett stycke i HTML. p>
Body>
Html>
Den första raden definierar typen av innehåll som finns i dokumentet.,
och som alla ingår i exemplet ovan. Sidrubrik, metadata och länkar till ankarfil placeras mellan Faktiskt sidinnehåll är mellan taggar .
Webben har genomgått många förändringar under de senaste decennierna, men HTML har alltid varit det primära språket som används för att utveckla webbsidor. Intressant nog, medan webbplatser har blivit mer avancerade och interaktiva, har HTML blivit enklare. Om du jämför källan till en HTML5-sida med en liknande sida skriven i HTML 4.01 eller XHTML 1.0, blir det mindre kod på HTML5-sidan. Detta beror på att modern HTML förlitar sig på Cascading Style Sheets eller JavaScript för att formatera nästan alla element på en sida.
Många dynamiska webbplatser genererar webbsidor i farten med hjälp av ett skriptspråk på serversidan som PHP eller ASP. Men även dynamiska sidor måste formateras med HTML. Därför genererar skriptspråk ofta HTML som skickas till webbläsaren.
Hypertext Transfer Protocol (HTTP) är designad för kommunikation mellan klienter och servrar och fungerar som ett begäran-svar-protokoll.
Webbläsaren kan vara klienten och applikationen på datorn som är värd för webbplatsen kan vara servern.
Klienten (webbläsaren) skickar en HTTP-begäran till servern, servern returnerar ett svar som innehåller information om status för begäran och kan även innehålla det begärda innehållet.
Två förfrågningsmetoder GET och POST
Två vanliga metoder för begäran-svar mellan klient och server:
GET - begär data från den specificerade resursen;
POST - Skickar data som ska bearbetas till den angivna resursen.
Att översätta GET och POST betyder bokstavligen hämta och efterbearbeta.
Mer om HTTP
HTTP är det protokoll som används för att överföra data över Internet. Det är en del av Internet Protocol-paketet och definierar de kommandon och tjänster som används för att överföra data till en webbsida.
HTTP använder server-klient-modellen. Klienten kan vara en hemdator, bärbar dator eller mobilenhet... HTTP-servern är vanligtvis ett webbhotell med programvara en webbserver som Apache eller IIS. När en användare går in på en webbplats skickar webbläsaren en förfrågan till lämplig webbserver och svarar med en HTTP-statuskod. Om URL:en är giltig och anslutningen tillhandahålls kommer servern att skicka webbsidan och tillhörande filer till webbläsaren.
Vanliga HTTP-statuskoder inkluderar:
200 - framgångsrik begäran (webbsida finns);
301 - rör sig konstant (omdirigerar ofta till en ny url);
401 - obehörig begäran (auktorisering krävs);
500 — Internt fel server (kallas ofta felkonfiguration server).
POST och GET i HTTP
HTTP definierar kommandona GET och POST som används för att bearbeta formulärinlämningar på webbplatser. Kommandot CONNECT används för att underlätta en säker anslutning som är krypterad med SSL. Krypterade HTTP-anslutningar sker över HTTPS, ett HTTP-tillägg designat för säkra dataöverföringar.
Webbadresser som börjar med "http: //" är tillgängliga via vanliga hypertextöverföringsprotokoll och använder port 80 som standard. Webbadresser som börjar med "https: //" är tillgängliga via säker HTTPS-anslutning och använder ofta port 443.
POSTA
POST är en serie systemkontroller exekveras av datorer och andra elektroniska enheter när de slås på. Testresultaten kan visas på skärmen, visas via blinkande lysdioder eller helt enkelt spelas in internt. V datorsystem POST-operationen utförs i början av startsekvensen. Om alla tester går igenom fortsätter resten av startprocessen automatiskt.
Mac och Windows operativsystem kör POST varje gång datorn startar eller startas om. Skanna kontroller Hårdvara och säkerställer att processorn, RAM-minnet och lagringsenheterna fungerar korrekt. Om ett fel inträffar under POST kan startprocessen pausas eller stoppas helt, och monitorn kan visa ett meddelande som säger att POST-fel ofta visas på BIOS-informationsskärmen. De kan matas ut som kryptokoder som "08" eller som ett systemmeddelande som "Systemminnesfel på offset." På Mac betecknas POST-fel ofta av enkel grafik som en trasig mappikon som indikerar att ingen startenhet hittades.
Fysiska manifestationer
I vissa fall kanske datorskärmen inte ens slås på innan POST-fel. Om detta händer kan felkoder visas via blinkande lysdioder eller ljudsignaler... Till exempel, Apple iMac spelar tre toner i följd, pausar i fem sekunder och upprepar sedan toner när dåligt RAM-minne upptäcks under uppstart. De flesta datorer piper också när POST-fel upptäcks, även om varje tillverkare använder sina egna koder.
POST är en ganska teknisk term som endast används av datortekniker regelbundet. Detta är dock en bra akronym eftersom det hjälper till att bättre förstå felmeddelanden som kan dyka upp på datorer eller annat elektroniska apparater... Om din dator inte startar på grund av ett POST-fel kan du använda en annan enhet för att hitta innebörden och orsaken till felet från tillverkarens webbplats. Sedan kan du vidta lämplig åtgärd - ta bort minnesmodulen eller installera om grafikkortet och starta sedan om utrustningen.
SKAFFA SIG
POST är också en metod för att skicka variabler HTML-formulär från en webbsida till en annan utan att visa dem i adressfältet. En alternativ metod är GET, som lägger till värden till URL:en. HTTP POST-förfrågningar tillhandahåller ytterligare data från klienten (webbläsaren) till servern i meddelandetexten. Däremot inkluderar GET-förfrågningar all nödvändig data i URL:en. Formulär i HTML kan använda vilken metod som helst genom att ange metod = POST eller metod = GET (standard) på elementet
Om användaren skriver in någon text i textfältet och klickar på knappen "Skicka" kommer textvariabeln med värdet på innehållet som användaren har angett att skickas till servern.
POST och GET-förfrågningar i enkla ordalag
Denna variabel kommer att skickas med POST-metoden.
Om du skriver i formuläret så här: