Vad är HTTP?

Du har nu möjlighet Protokoll för hypertextöverföring (HTTP) är det som gör att din webbläsare kan kommunicera med en server och få information från Internet.

vad är http

HTTP är ett protokoll för att koda och transportera information, som text, bilder, ljud, video och multimedia, mellan en webbläsare och en webbserver över Internet

Du har nu möjlighet Protokoll för hypertextöverföring (HTTP) är det som gör att din webbläsare kan kommunicera med en server och få information från Internet. Det är grunden för hur vi surfar på webben, och det är viktigt för dig att förstå detta protokoll för att bygga webbplatser eller appar som gör något annat än att visa statiskt innehåll. I den här artikeln kommer vi att diskutera HTTP-förfrågningar och HTTP-svar, samt några viktiga rubriker du behöver när du bygger din egen webbplats.

http

HTTP står för Hypertext Transfer Protocol. Det är webbens språk, och det är det som får din webbläsare att visa dig en webbplats. HTTP definierar hur data ska formateras så att du kan se bilder, läsa text eller titta på videor online. Den här artikeln kommer att förklara allt om HTTP i detalj så att du vet hur du använder det på din dator när du surfar på webbplatser!

HTTP är ett protokoll som står för Hypertext Transfer Protocol. Det är standarden som webbläsare använder för att begära och ta emot information från en server i ett nätverk. HTTP-protokollet designades av Tim Berners-Lee 1991 som en del av hans ursprungliga design för vad som skulle bli World Wide Web. HTTP är akronymen för Hypertext Transfer Protocol. Det är ett sätt att överföra data över internet mellan webbservrar och webbläsare. HTTP kan användas i många olika scenarier, till exempel när du vill se en webbplats på din telefon eller använda den i kombination med SSL-kryptering.

HTTPS är den säkrare varianten, som de flesta webbplatser använder idag. Lära sig mer om HTTPS här

Vad används HTTP till?

HTTP är det protokoll som de flesta webbplatser använder för att kommunicera med webbläsare. Det används också för många andra saker, som att ladda ner filer på din dator eller mobila enhet; överföra data mellan två servrar på internet och till och med skicka meddelanden från en mobiltelefon till en annan.

Hypertext Transfer Protocol kan ses som ett applikationslagerprotokoll, vilket innebär att dess uppgift är att leverera data från ett datorsystem till ett annat med en meddelandebaserad struktur. Klienten begär någon typ av resurs (till exempel en webbsida) genom att skicka en HTTP-förfrågningsrad följt av ytterligare rubriker, var och en på sin egen rad. När detta har skickats med framgång svarar servern med en HTTP-svarsrad följt av valfritt antal rubrikrader för att ge efterfrågad

Detta är särskilt oroande eftersom det tillåter alla typer av enheter, såsom kameror och DVR:er som körs på äldre firmware med svag telnet-lösenordsautentisering att bli en del av en botnet-armé utan några ändringar.

Även om vi kunde bekräfta dessa rapporter noterade vi också något ganska ovanligt – HTTP användes istället för de vanligare UDP- eller TCP-protokollen. Detta utlöste omedelbart larm och fick oss att tro att det fanns en bakomliggande orsak till denna taktikbyte; en som resulterade i ytterligare funktioner för skadlig programvara. 

HTTP-datautbyte

TTP-datautbyte gör det möjligt för två tjänster att kommunicera med varandra. Det är processen att skicka information mellan två system med hjälp av HTTP-förfrågningar och svar. Det finns flera sätt på vilka information kan skickas via denna kommunikationskanal, inklusive att lägga upp formulärdata, skicka JSON- eller XML-data, etc. Men nu ska vi ta en titt på hur det fungerar när vi skickar formulärkodade nyckel-värdepar i brödtexten i en HTTP POST-begäran. Använder Python för att utföra HTML-formulärförfrågningar

Python har flera moduler som hjälper dig att skicka ut webbtjänstförfrågningar (urllib2), ta emot svar (socketserver) och tolka HTML-sidor (BeautifulSoup). Så om du vill analysera din mottagna HTML-sida måste du installera BeautifulSoup-biblioteket.

Dessutom, för att skicka ut HTTP POST-förfrågningar, behöver du också modulen urllib2. Här är ett exempel på hur man använder dessa moduler tillsammans:

  • import socketServer
  • importera urllib2
  • request = urllib2.Request
  • svar = urllib2.urlopen(request)
  • htmlString = response.read()

HTTP -autentisering

När en webbinteraktion startar händer vanligtvis följande saker. Detta är känt som "HTTP Basic Authentication". Tanken bakom det är att när du gör en förfrågan till en webbsida, förutom att skicka rubrikerna med lämplig innehållstyp och sådant, så skickar du också med några referenser kodade i base64 (ja, den där extremt irriterande kodningen). Nu för varje webbläsare där ute finns det en tillhörande inloggning/lösenord som man använder för att logga in på webbplatsen. Inloggningsuppgifterna som skickas av din webbläsare måste matcha exakt med vad som förväntas av den. Observera att endast användarnamn och lösenord skickas över i klartext – allt annat går över krypterat med SSL/TLS. Inloggningsuppgifterna skickas som en del av "auktoriserings"-huvudet och ser ut så här:

HTTP-applikationssession

HTTP är ett tillståndslöst protokoll. Det betyder att varje förfrågan måste innehålla all information som krävs för att betjäna begäran och uppmana mottagaren att vidta lämpliga åtgärder, till skillnad från andra protokoll som FTP eller Telnet.

Det finns några andra aspekter av HTTP som gör den lämplig för användning som en sessionsmekanism:

Den är baserad på text, så det finns ingen binär kod som ska transformeras genom en kodning som BinHex eller UUencode (även om dessa finns för webbtrafik!) innan den injiceras i ett annat system; Den använder TCP, närmare bestämt port 80 – det betyder att om din applikation kan styra din utgående trafik så har du fri kontroll över hur mycket data du injicerar i någon annans infrastruktur utan att någon misstanke väcks av brandväggsloggar; Den använder en klient/servermodell.

Klienten skickar förfrågningar och servern svarar på dessa förfrågningar asynchederligt, ger många möjligheter till förvirring eller injicering i ett annat system genom att svara med data från din egen maskin

Det stöds brett, så du kan injicera HTTP-trafik till vilken målplattform som helst utan att behöva veta något om deras specifika implementering av webbprotokoll och tjänster. HTTP-svarsmeddelandet är data som tas emot av en klientenhet från webbservern. 

Problemet: Vi har ingen sessionsidentifierare!

HTTP tillhandahåller ingen mekanism för att identifiera vilken session vi försöker kapa. Lösningen? Vi behöver något sätt att skapa vår egen sessionsidentifierare som vi kan skicka över i stället för en befintlig; om vi lyckas kommer mottagaren att lägga vår input till en ny HTTP-session (och därmed uppnå vårt mål att kapa en HTTP-session).

HTTP, betraktad som webbresurser eller ett överföringsprotokoll för world wide web och är baserat på en klient/servermodell där en användaragent (klienten) skulle begära information från en fjärrdator via HTTP-protokollet och ta emot begärd data i gengäld.

Begär metoder för HTTP

Även om du kan bygga en full-stack webbserver med att bara hämta och POST, när appen växer, blir det svårare att hantera. HTTP-klienten som du kan möta metoder som är: OPTIONS, HEAD, PUT, DELETE och TRACE. Dessa förfrågningar hjälper dig att hantera appdata bättre och ger dig bekvämlighet för att hantera sessionsdata.

HTTP-ALTERNATIV

HTTP-OPTIONS-metoden används av HTTP-klienter för att fråga efter information om de kommunikationsalternativ som är tillgängliga på den begärda resursen. Det stöds mycket sällan av webbläsare eftersom det faktiskt inte används i praktiken av slutanvändare, vilket gör det nästan värdelöst. Undantaget är Internet Explorer 5+ som stöder den här funktionen, dock bara om den har aktiverats via en inställning.

HTTP-HUVUD

HTTP HEAD-metoden är identisk med GET-metoden förutom att överföring av svarshuvudfält utelämnas. Det betyder att du inte kan komma åt något sidinnehåll, men vanligtvis behöver du det inte, så det gör det lättare än en vanlig begäran och det är snabbare. Google Chrome och Opera stöder denna metod såväl som de flesta proxyservrar.

HTTP PUT

HTTP PUT-metoden begär att en specificerad resurs lagras under den tillhandahållna effektiva begäran-URI. Den grundläggande skillnaden mellan att använda POST och PUT för att skapa resurser är att POST tillåter klienten att skapa en resurs med en begäran oberoende av vad resursen kommer att vara, medan PUT alltid skapar en ny instans av resursen som identifieras av den effektiva begäran för webbklienter .

HTTP RADERA

HTTP DELETE-metoden begär att ursprungsservern tar bort kopplingen mellan den effektiva begäran-URI och resursen som identifieras av den. Efter framgångsrik implementering, alla effekter av alla metoder som exekveras på den angivna resursen före DELETE (inklusive effekter i andra resurser som härrör från dessa metoder)

HTTP TRACE

HTTP TRACE-metoden används för att återkoppla den mottagna begäran så att en klient kan se vad som tas emot och kanske använda informationen för test- eller diagnostiska ändamål. När TRACE används kan den slutliga mottagaren se all denna data – vilket gör det till ett stort säkerhetsproblem.

The Bottom Line

HTML är språket som webbsidor är skrivna på. Det står för HyperText Markup Language och det är det som talar om för webbläsare hur de ska visa en webbsida. HTML innehåller inte kommandon för saker som att ladda bilder eller spela upp video – dessa hanteras av separata teknologier som CSS, JavaScript, AJAX, etc.

Referenser

https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol

https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview

Start » Webbhotell » Ordlista » Vad är HTTP?

Gå med i vårt nyhetsbrev

Prenumerera på vårt veckovisa nyhetsbrev och få de senaste branschnyheterna och trenderna

Genom att klicka på "prenumerera" godkänner du vår användarvillkor och sekretesspolicy.