HTTP

Vikipēdijas raksts
Pārlēkt uz: navigācija, meklēt

HTTP jeb hiperteksta transporta protokols[1] (angļu: HyperText Transfer Protocol) ir lietojumslāņa protokols, kas paredzēts datu apmaiņai starp tīmekļa serveriem un pārlūkprogrammām. Tas ir galvenais informācijas pārraides veids vispasaules tīmeklī. Tā sākotnējā funkcija bija veids, kādā publicēt un pārraidīt hiperteksta dokumentus (HTML lapas), bet tagad ar to var pārraidīt arī cita veida datus.

HTTP ir pieprasījuma/atbildes protokols starp klientiem un serveriem. Transakciju vienmēr sāk klients, izveidojot TCP/IP savienojumu uz servera noteiktu portu (80 pēc noklusējuma) un nosūtot pieprasījumu serverim. HTTP serveris, kurš klausās šo portu, gaida, ka klients nosūtīs pieprasījumu, piemēram, GET / HTTP/1.1 Pieprasījums var būt papildināts ar e-pasta stila MIME ziņojumu, kurš satur noteiktu skaitu informējošas galvenes virknes, kas apraksta dažādus pieprasījuma aspektus, aiz kā seko opcionāls ķermenis ar patvaļīgiem datiem. Pēc pieprasījuma virknes saņemšanas, serveris atpakaļ nosūta atbildes virkni, piemēram, "200 OK" (pieprasījums izpildīts veiksmīgi), un savu ziņojumu, kura ķermenis satur pieprasīto failu, kļūdas paziņojumu vai citu informāciju.

HTTP 1.0 atšķiras no citiem uz TCP balstītiem protkoliem, piemēram FTP, ar to, ka savienojums tiek aizvērts tūlīt pēc pieprasījuma izpildes. Tas padara HTTP protokolu īpaši piemērotu vispasaules tīmekliem, kur lappuses bieži vien satur saites uz citiem serveriem. Savukārt HTTP 1.1 izmanto pastāvīgu TCP savienojumu - tādējādi pēc katra pieprasījumā nav jāveido jauns TCP savienojums.

HTTP ir bezstāvokļa protokols - gan serveris gan klients neuztur savienojuma stāvokli - serveris nezina vai klients ir saņēmis atbildi, klients pie timeout kļūdas nevar zināt, vai serveris ir apstrādājis pieprasījumu


Piemērs[izmainīt šo sadaļu | labot pirmkodu]

Zemāk ir redzams saziņas piemērs starp HTTP klientu un HTTP serveri, kas darbojas uz www.google.lv 80. porta.

Klienta pieprasījums:

GET / HTTP/1.1
Host: www.google.lv

(papildināts ar rindas pārnesumu)

Servera atbilde:

HTTP/1.1 200 OK
Content-Length: 3059
Server: GWS/2.0
Date: Sat, 11 Jan 2003 02:44:04 GMT
Content-Type: text/html
Cache-control: private
Set-Cookie: PREF=ID=73d4aef52e57bae9:TM=1042253044:LM=1042253044:S=SMCc_HRPCQiqy
X9j; expires=Sun, 17-Jan-2038 19:14:07 GMT; path=/; domain=.google.lv
Connection: keep-alive

(papildināts ar rindas pārnesumu un Google sākumlapas HTML kodu)


HTTP 1.0 klients sūta pieprasījumu serverim un serveris sūta atbildi atpakaļ klientam. Pēc tā savienojums tiek izbeigts. Savukārt HTTP 1.1 atbalsta pastāvīgos savienojumus. Tas ļauj klientam nosūtīt pieprasījumu serverim, saņemt atbildi, un tad nosūtīt papildus pieprasījumus un saņemt papildu atbildes nekavējoties. Šo atkārtoto pieprasījumu laikā TCP savienojums netiek izbeigts, līdz ar to papildu datu plūsma TCP dēļ ir mazāka.

Skatīt arī[izmainīt šo sadaļu | labot pirmkodu]

HTTPS

Atsauces[izmainīt šo sadaļu | labot pirmkodu]

  1. termini.lv definīcija. termini.lv. Atjaunināts: 2009. gada 22. septembrī. (latviski)

Ārējas saites[izmainīt šo sadaļu | labot pirmkodu]

  • Change History for HTTP. W3.org. Atjaunināts: 2010-08-01. A detailed technical history of HTTP.
  • Design Issues for HTTP. W3.org. Atjaunināts: 2010-08-01. Design Issues by Berners-Lee when he was designing the protocol.
  • Classic HTTP Documents. W3.org (1998-05-14). Atjaunināts: 2010-08-01. list of other classic documents recounting the early protocol history