Hypertext Transfer Protocol

Hypertext Transfer Protocol

HTTP

Hyperteksto perdavimo protokolas


Apibrėžimas

Tai yra pagrindinis ir populiariausias visame pasaulyje metodas pasiekti informacija pasauliniame tinkle (World Wide Web), kitaip sakant - tai hyperteksto perdavimo protokolas, Interneto pagrindas. Pagrindinis protokolo tikslas yra pateikti standartizuotą būdą HTML puslapių peržiūrai.


Paaiškinimai

HTTP yra užklausos – atsakymo protokolas, kuris inicijuoja ryšį tarp kliento ir serverio. Naršyklė yra HTTP klientas, kuris naudodamas TCP/IP ryšį (dažniausiai HTTP protokolui naudojamas 80 prievadas „Portas“), siunčia užklausą pvz.: „GET / HTTP/1.1 į tam tikrą nutolusį kompiuterį ar serverį. HTTP serveris gavęs užklausą „GET / HTTP/1.1“ atgal atsiunčia atsakymą „200 OK“ kartu su susijusiu pranešimu, kuris dažniausiai būna HTML puslapis.

Pagrindinės HTTP užklausos:

HTTP užklausos iš esmės yra komandų rinkinys, siunčiamas iš naršyklės į tinklapio serverio.

Užklausos sudėtis


HTTP 1.0 užklausos sintaksė:


Žemiau pateikiamas HTTP 1.0 užklausos pavyzdys:



Užklausos antraščių tipai

Antraštė

Apibrėžimas

Accept

Turinio tipas, kurį pripažįsta klientas (pvz. text/html)

Accept-Charset

Kliento pripažįstamas simbolių rinkinys

Accept-Encoding

Kliento pripažįstamas duomenų kodavimas

Accept-Language

Kalba kurios tikisi klientas (pagal nutylėjimą – anglų)

Autorization

Kiento indetifikavimas serveriui

Content-Encoding

Pagrindinės užklausos dalies kodavimo tipas

Content-Language

Pagrindinės užklausos dalies kalbos tipas

Content-Length

Pagrindinės užklausos dalies ilgis

Content-Type

Pagrindinės užklausos dalies turinio tipas (pvz. text/html)

Date

Duomenų persiuntimo pradžios data

Forwarded

Nurodomas tarpinis įrenginys tarp kliento ir serverio

From

Suteikia galimybę klientui nurodyti e-paštą

Link

Nuoroda tarp dviejų URL adresų

Orig-URL

URL adresas iš kurio atėjo užklausa

Referer

Nuoroda URL adreso, kuriame užklausa buvo sukurta

User-Agent

Eilutė nurodanti informaciją apie klientą (pvz. naršyklės pavadinimą ir versiją, operacinę sistemą)

HTTP atsakas

HTTP atsakas yra komandų rinkinys siunčiamas naršyklei iš tinklapio serverio. Jį sudaro:


HTTP 1.0 atsako sintaksė:


HTTP 1.0 atsako pavyzdys:

Atsako antraščių tipai

Antraštė

Apibrėžimas

Content-Encoding

Pagrindinės atsako dalies kodavimo tipas

Content-Language

Pagrindinės atsako dalies kalbos tipas

Content-Length

Pagrindinės atsako dalies ilgis

Content-Type

Pagrindinės atsako dalies turinio tipas (pvz. text/html)

Date

Duomenų persiuntimo pradžios data

Expires

Duomenų galiojimas pagal datą

Forwarded

Nurodomas tarpinis įrenginys tarp kliento ir serverio

Location

Nukreipimas į naują URL vietą siejamą su nurodytu dokumentu

Server

Serverio išsiuntusio atsaką parametrai

Atsako būsenos kodai

Būklės kodas

Būsenos reikšmė

Apibrėžimas

10x

Information message

Šie kodai nėra naudojami HTTP 1.0 protokolo versijoje

20x

Success

Šie kodai nurodo sėkmingą duomenų apsikeitimo procesą

200

OK

Užklausa buvo sėkmingai įvykdyta

201

CREATED

Jis kodas gaunamas naudojam POST užklausos metodą. Kodas nurodo sėkmingą užklausos įvykdymą ir savo pagrindinėje atsako dalyje nurodo vietą kurioje turi būti talpinamas naujai sukurtas dokumentas

202

ACCEPTED

Užklausa buvo priimta, po jos sekančios procedūra buvo neįvykdyta

203

PARTIAL INFORMATION

Kai šis kodas gaunamas naudojant GET metodą, reiškia jog atsakas nebuvo pilnai įvykdytas

204

NO RESPONSE

Serveris gavo užklausą, tačiau nėra pageidaujamos informacijos kuri būtų patalpinta į atsaką

205

RESET CONTENT

Serveris liepia klientui ištrinti formos laukelių turinį

30x

Redirection

Šie kodai nurodo, kad pageidaujamų dokumentų nebėra nurodytoje vietoje

301

MOVED

Užklausos duomenys buvo persiųsti į naują adresą

302

FOUND

Pageidaujami duomenys buvo perkelti į naują URL adresą, kuriame jų dabar nerandama

303

METHOD

Klientas turi mėginti siųsti užklausą kitu adresu. Taip pat siūloma pakeisti užklausos metodą

40x

Error due to the client

Šie kodai nurodo jog buvo neteisingai suformuluota užklausa

400

BAD REQUEST

Neteisingai suformuluota užklausa

401

UNAUTHORIZED

Užklausos parametrai neatitinka identifikacijos. Klientas turi performuluoti užklausą

402

PAYMENT REQUIRED

Klientas turi performuluoti užklausą su teisingais apmokėjimo duomenimis

403

FORBIDDEN

Priėjimas prie duomenų draudžiamas

404

NOT FOUND

Nurodytu adresu serveris nerado jokių duomenų

50x

Error due to the server

Šie kodai informuoja, kad serveriui iškilo vidinių klaidų

HTTP protokolo versijos

Nebepalaikoma. Palaiko tik GET užklausą. Nepalaiko antraščių (HEADERS). Kadangi nepalaikomas POST metodas, klientas serveriui gali perduoti labai mažai informacijos.

Vis dar labai plačiai naudojama, ypač proxy serverių. Palaiko susijungimą aktyvų, todėl to paties susijungimo metu galima įvykdyti keletą užklausų/atsakymų. Tačiau tai veikia tik tada, kai jungiamasi ne per proxy serverius. Neišlaiko būsenos informacijos.

Einamoji protokolo versija. Pagal nutylėjimą palaiko aktyvius susijungimus, kurie puikiai veikia ir jungiantis per proxy serverį. Leidžia išsiųsti keletą užklausų vienu metu, taip pagreitinant duomenų persiuntimą vartotojui. Įmanoma identifikuoti host vardą. Naršyklė siunčia Host: www.xxx.com protokolo antraštėje (HEADER) kiekvienoje užklausoje. Tai pagreitina susisiekimą, jeigu įrenginyje yra paleisti keli virtualūs tinklo serveriai. Naudojant šį protokolą, turinys gali būti pateikiamas įvairiais formatais: PostScript, PDF, arba kaip paprastas tekstas.

HTTPS yra saugi HTTP versija.


Naudota literatūra


paskutinį kartą redaguota 2011-10-20 00:13:48 redaktoriaus VygandasŠoblinskas