HTTP
Vikipēdijas raksts
HTTP jeb Hiperteksta transporta protokols (HyperText Transport Protocol) ir galvenais informācijas pārraides veids globālajā tīmeklī. Tā sākotnējā funkcija bija veids, kādā publicēt un pārraidīt HTML lapas.
HTTP ir pieprasījuma/atbildes protokols starp klientiem un serveriem. HTTP klients, piemēram, tīmekļa pārlūkprogramma, parasti veido pieprasījumu izveidojot TCP/IP savienojumu uz attālināta datora noteiktu portu (80 ports pēc noklusējuma). HTTP serveris, kurš klausās šo portu, gaida, kad klients nosūtīs pieprasījuma virkni, tādu, kā "GET / HTTP/1.1" (šāda virkne pieprasa noteiktā tīmekļa servera noklusēto lapu), kas opcionāli ir papildināta 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 atpakļ nosūta atbildes virkni, tādu, kā "200 OK", un savu ziņojumu, kura ķermenis satur pieprasīto failu, kļūdas paziņojumu vai citu informāciju.
HTTP 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 globālajam tīmekliem, kur lappuses bieži vien satur saites uz citiem serveriem.
[izmainīt šo sadaļu] Piemērs
Zemāk ir redzams saziņas piemērs starp HTTP klientu un HTTP serveri, kas darbojas uz www.google.lv 80-tā 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 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.