|
Article on other languages:
|
Hypertext Transfer Protocol är det kommunikationsprotokoll som används för att överföra webbsidor på informationsnätverket WWW, World Wide Web på Internet. Det ursprungliga syftet med HTTP var att tillhandahålla en metod för att överföra HTML-sidor från webbservrar till webklienter. Utvecklingen av HTTP koordinerades av World Wide Web Consortium och arbetsgrupper i Internet Engineering Task Force och kulminerade i publicerandet av en serie RFC:er, av vilka RFC 2616 (tidigare RFC 2068) är av störst vikt, som definierar HTTP/1.1, den version av HTTP som idag är i bredast tillämpning. HTTP bygger på ett förfrågan/svar-förfarande mellan klient och server. En HTTP-klient, vanligen en webbläsare, som skall hämta en HTML-fil, en bild eller annan fil från en webbserver skickar en förfrågan bestående av en kort textsträng till en TCP-port på servern, vanligen nummer 80. Textsträngen innehåller information om vilken version av HTTP som används, och vilken fil som klienten vill att servern skall skicka. En HTTP-förfrågan kan till exempel se ut som följande: "GET / HTTP/1.1" (vilket med hjälp av HTTP version 1.1 skulle begära en överföring av serverns indexdokument till webbläsaren). Med förfrågan skickas ofta även ett eller flera MIME-meddelanden som innehåller extra information om vad klienten vill ha. I HTTP 1.1 (till skillnad från 1.0) är MIME-parametern "Host" (namnet på den anropade webbservern) obligatorisk och måste skickas med varje förfrågan för att servern skall svara. När förfrågan mottagits av servern svarar denna med att skicka tillbaka ett kort svar i form av en sträng, tillsammans med en datamängd som innehåller det efterfrågade dokumentet, om detta återfanns på server. Tidiga versioner av HTTP kunde endast skicka en enda HTTP-förfrågan per TCP-koppling. Detta skapade problem vid webbsidor som innehöll många bilder, eftersom webbläsaren var tvungen att hämta varje bild för sig i den ordning de var refererade på sidan. I Netscape löstes problemet genom att alltid använda fyra TCP-kopplingar, och växelvis använda dem till att hämta bilder. Denna lösning ledde dock till prestandaproblem eftersom varje TCP-koppling var fristående från varandra och inte kunde reagera på stockning i nätet. I senare versioner av HTTP har man lagt till speciella funktioner för att kunna hämta flera filer samtidigt med samma TCP-koppling, vilket bidrar till att minska problemen.
Typer av förfrågningarHTTP definierar åtta åtgärder som en klient kan begära utförande av på en fil på en HTTP-server.
Metoderna GET och HEAD är definierade som säkra, m.a.o. avsedda uteslutande för informationshämtning. Icke-säkra metoder (som POST, PUT och DELETE) bör presenteras i webbklienten på något särskilt sätt (till exempel som knappar istället för länkar), så att användaren blir medveten om de potentiella effekterna av deras användning.
Versioner av HTTPHTTP särskiljer sig från andra TCP-baserade protokoll såsom FTP i det att HTTP förekommer i ett antal olika versioner:
ExempelNedan följer en exempeldialog mellan en HTTP-klient och en HTTP-server. Servern har domännamnet www.example.com och körs på TCP-port 80. Klientförfrågan (avslutas med en tom rad, så att förfrågan i sin helhet avslutas med två radbrytningar, var och en i form av vagnreturstecken (<CR>) följt av ett radbytestecken (<LF>).): GET /index.html HTTP/1.1 Host: www.example.com "Host"-strängen väljer värdens domännamn om flera finns att välja på för den kontaktade datorn. Detta tillåter samma dator att köra flera webbservrar, med olika associerade domännamn, så kallade virtual hosting. Detta var en frivilligt komplementsfunktion i HTTP/1.0 men måste stödas av HTTP/1.1-servrar. Svar från servern (följs av en blank rad och texten i det efterfrågade dokumentet): HTTP/1.1 200 OK Date: Mon, 23 May 2005 22:38:34 GMT Server: Apache/1.3.27 (Unix) (Red-Hat/Linux) Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT Etag: "3f80f-1b6-3e1cb03b" Accept-Ranges: bytes Content-Length: 438 Connection: close Content-Type: text/html; charset=UTF-8 Se ävenExterna länkar
|
|||||||||||||||||||||||||||||
This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.
Mercedes Car
This site monitored by SitePinger.net