Documente Academic
Documente Profesional
Documente Cultură
nivelul aplicație(d)
BGP
DHCP
o DHCPv6(d)
DNS
FTP
HTTP
IMAP
IRC
LDAP
MGCP
NNTP
NTP
POP
ONC/RPC(d)
RTP
RTSP
RIP
SIP
SMTP
SNMP(d)
SOCKS(d)
SSH
Telnet
TLS/SSL
XMPP(d)
nivelul transport(d)
TCP
UDP
DCCP(d)
SCTP(d)
RSVP(d)
nivelul internet(d)
IP
o IPv4
o IPv6
ICMP
ICMPv6(d)
ECN(d)
IGMP(d)
IPsec
nivelul legătură(d)
ARP/InARP(d)
NDP(d)
OSPF
Tunnels(d)
o L2TP(d)
PPP(d)
MAC(d)
o Ethernet
o DSL
o ISDN
o FDDI(d)
o DOCSIS
v
d
m
HTTP
Persistence
Compression
HTTPS
Metode de cerere
OPTIONS
GET
HEAD
POST
PUT
DELETE
TRACE
CONNECT
PATCH
Coduri de stare
301 Moved Permanently
302 Found
303 See Other
403 Forbidden
404 Not Found
v
d
m
Hypertext Transfer Protocol (HTTP) este metoda cea mai des utilizată pentru accesarea
informațiilor în Internet care sunt păstrate pe servere World Wide Web (WWW). Protocolul
HTTP este un protocol de tip text, fiind protocolul "implicit" al WWW. Adică, dacă un URL nu
conține partea de protocol, aceasta se consideră ca fiind http. HTTP presupune că pe calculatorul
destinație rulează un program care înțelege protocolul. Fișierul trimis la destinație poate fi un
document HTML (abreviație de la HyperText Markup Language), un fișier grafic, de sunet,
animație sau video, de asemenea un program executabil pe server-ul respectiv sau și un editor de
text. După clasificarea după modelul de referință OSI, protocolul HTTP este un protocol de nivel
aplicație. Realizarea și evoluția sa este coordonată de către World Wide Web Consortium
(W3C).
Cuprins
1 Modul de funcționare
2 Transferul argumentelor
3 Coduri de raspuns HTTP (Http Response Code)
4 Versiuni
5 Metode
6 Exemplu
7 Legături externe
Modul de funcționare
HTTP oferă o tehnică de comunicare prin care paginile web se pot transmite de la un computer
aflat la distanță spre propriul computer. Dacă se apelează un link sau o adresă de web cum ar fi
http://www.example.com, atunci se cere calculatorului host să afișeze o pagină web (index.html
sau altele). În prima fază numele (adresa) www.example.com este convertit de protocolul DNS
într-o adresă IP. Urmează transferul prin protocolul TCP pe portul standard 80 al serverului
HTTP, ca răspuns la cererea HTTP-GET. Informații suplimentare ca de ex. indicații pentru
browser, limba dorită ș.a. se pot adăuga în header-ul (antetul) pachetului HTTP. În urma cererii
HTTP-GET urmează din partea serverului răspunsul cu datele cerute, ca de ex.: pagini în
(X)HTML, cu fișiere atașate ca imagini, fișiere de stil (CSS), scripturi (Javascript), dar pot fi și
pagini generate dinamic (SSI, JSP, PHP și ASP.NET). Dacă dintr-un anumit motiv informațiile
nu pot fi transmise, atunci serverul trimite înapoi un mesaj de eroare. Modul exact de desfășurare
a acestei acțiuni (cerere și răspuns) este stabilit în specificațiile HTTP.
Transferul argumentelor
Deseori utilizatorul dorește să transmită informații speciale la website. Aici HTTP pune la
dispozitie două posibilități:
Datele transferate vin deseori %-codate. La metoda GET se utilizează partea de cerere Uniform
Resource Identifiers (URI) cu simbolul ?. Această metodă se utilizează pentru a transfera o listă
de parametri, pe care partea opusă trebuie să o ia în considerare la prelucrarea cererii.
Deseori această listă cuprinde perechi de valori separate prin semnul &, care sunt alcătuite din
numele parametrului, semnul = și valoarea parametrului. Rareori se mai utilizează și semnul ;
pentru separarea înregistrărilor listei [1].
Serverului Wikipedia îi sunt transmise două perechi de valori: Argument Valoare search pisici
go articol
Argument1=valoare1&Argument2=valoare2
iar cu ? se atașează pagina. Astfel serverul află că utilizatorul dorește să vadă articole despre
pisici. Serverul prelucrează cererea, dar nu trimite un fișier ci redirecționează browserul cu un
Location-Header spre pagina dorită:
HTTP/1.0 302 Moved Temporarily Date: Fri, 13 Jan 2008 15:12:44 GMT Location:
http://ro.wikipedia.org/wiki/pisici ... Browserul execută indicația și, pe baza noilor informații,
emite o nouă cerere: GET /wiki/pisici HTTP/1.1 Host: ro.wikipedia.org ... Serverul răspunde și
oferă pagina cu articole despre pisici:
HTTP/1.0 200 OK Date: Fri, 13 Jan 2008 15:12:48 GMT Last-Modified: Tue, 10 Jan 2008
11:18:20 GMT Content-Language: ro Content-Encoding: gzip Content-Type: text/html;
charset=utf-8
Partea de date este mai lungă și de necitit din cauza compresiei gzip.
search=pisici&go=articol
Serverul răspunde astfel : HTTP/1.0 302 Moved Temporarily Date: Fri, 13 Jan 2008 15:32:43
GMT Location: http://ro.wikipedia.org/wiki/pisici
100 - continuă:
Utilizatorul ar trebui să își continue cererea/acțiunea. Acest răspuns provizoriu este folosit pentru
a informa utilizatorul că partea inițială a cererii a fost receptată și că deocamdată nu a fost
refuzată de server. Utilizatorul ar trebui să continue și să ignore acest răspuns.
200 - ok:
Această cerere a fost executată cu succes. Informația a revenit cu un răspuns pozitiv, indiferent
de modul în care s-a făcut cererea.
201 - creat/realizat:
Cererea a fost îndeplinită având ca rezultat crearea unui nou rezultat. Noul rezultat poate fi
referit/raportat de către URI-uile înapoiate la intrarea răspunsului.
202 - acceptat:
Cererea a fost acceptata pentru procesare, dar aceasta din urmă nu a fost terminată complet.
Scopul acestui mesaj este de a permite unui server să accepte cereri de la alți utilizatori, fără a
cere conexiunii clientului să insiste până ce procesul/cererea e completă.
302 - găsit:
Sursa cererii este temporar pe un alt URI. În cazul în care redirecționarea ar putea fi schimbată
ocazional, utilizatorul ar trebui să folosească în continuare cererea URI (Request-URI) în cazul
unor cereri ulterioare.
Dacă mesajul/statusul 302 este recepționat ca răspuns al unei cereri alta decât
„Primit/recepționat” sau „Direcționat/condus”, browser-ul nu trebuie să redirecționeze automat
cererea dacă aceasta nu poate fi confirmată de cărte utilizator.
304 - nemodificat:
În cazul în care clientul a efectuat o cerere de tip „Primit/recepționat” și accesul este permis, dar
documentul nu a fost modificat, serverul ar trebui să răspundă cu acest mesaj/status.
306 (nefolosit):