HTTP eller HyperText Transfer Protocol er en protokol, som
primært bruges til kommunikation på World Wide Web (WWW). Specifikationerne
bestemmes af W3C (World Wide Web Consortium)
HTTP er en protokol der beder en server på TCP-port 80 (med
mindre andet er angivet) om specifikke ressourcer. Serveren svarer med
HTTP-protokolkode for at angive det overordnede resultat af anmodningen, og
derefter typisk selve ressourcen (fx et HTML-dokument eller et billede) eller
en fejlbesked.
HTTP 1.0 er forskellig fra andre protokoller (såsom FTP),
idet forbindelsen afbrydes, efter at den ønskede opgave er udført (eller en
serie af opgaver er udført). Dette er ideelt for WWW, hvor der henvises til
sider på tværs af webservere. Det kan dog skabe problemer for programmøren, da
der kan være behov for at kende brugerens nuværende situation på serveren.
Dette kan registeres i en såkaldt cookie. HTTP 1.1 kan opretholde forbindelsen
(Connection: keep-alive).
HTTP kan også køre over en SSL-forbindelse (kaldet HTTPS i
sammenhæng), hvilket gør HTTP-transmissionen krypteret, så længe den forstås på
begge sider af forbindelsen.
Den præcise beskrivelse af HTTP version 1.1 er beskrevet i RFC
2616.
Typer af forespørgsler:
HTTP definerer otte handlinger som en klient kan anmode om.
De hyppigst anvendte er GET eller POST:
GET – Læse en webside.
HEAD – Læse en websides headerinformation.
POST – Sender information til en webside (fx fra
formular hvor brugeren har udfyldt nogle oplysninger).
PUT – (Over)skrive en webside (dvs lagre en ny version).
DELETE – Slette en webside.
TRACE – Sende forespørgslen uændret tilbage (for at
kontrollere forbindelsen)
OPTIONS – Spørger hvilke metoder serveren understøtter.
CONNECT – Anvendes med proxy-servere til SSL-tunneller.
Metoderne GET og HEAD er definerede som sikre og beregnet
udelukkende til informationshentning. Ikke-sikre metoder (som POST, PUT og
DELETE) bør i webklienten præsenteres særskilt (for eksempel som knapper i
stedet for links), så brugeren er vidende om de potentielle effekter af deres
anvendelse.