curs nr. 08 - protocolul http.pdf
TRANSCRIPT
-
Cuprins Arhitectura generala a motoarelor de cautare Definitie Specificatii Discutii Bibliografie
Regasirea Informatiilor pe WEBCurs 08: Protocolul HTTP
s.l. dr. ing. Alexandru [email protected]
Facultatea de Automatica si Calculatoare, Iasi
an universitar: 2014 2015
RIWeb 2014 2015/C08: Protocolul HTTP 1/ 24
-
Cuprins Arhitectura generala a motoarelor de cautare Definitie Specificatii Discutii Bibliografie
Cuprins
1 Arhitectura generala a motoarelor de cautareMotor de cautare pe WEBRobot WEB
2 DefinitieDefinitie, caracteristici
3 SpecificatiiCerere HTTPMetode HTTPRaspuns HTTPCoduri de stare HTTP
4 Discutii
RIWeb 2014 2015/C08: Protocolul HTTP 2/ 24
-
Cuprins Arhitectura generala a motoarelor de cautare Definitie Specificatii Discutii Bibliografie
Motor de cautare pe WEB
Motor de cautare pe WEB
Figura 1: Arhitectura generala a motoarelor de cautare pe WEB [7]
RIWeb 2014 2015/C08: Protocolul HTTP 3/ 24
-
Cuprins Arhitectura generala a motoarelor de cautare Definitie Specificatii Discutii Bibliografie
Robot WEB
Arhitectura unui robot WEB
Figura 2: Componentele unui robot WEB [7]
RIWeb 2014 2015/C08: Protocolul HTTP 4/ 24
-
Cuprins Arhitectura generala a motoarelor de cautare Definitie Specificatii Discutii Bibliografie
Definitie, caracteristici
Definitie
HTTP HyperText Transfer Protocol
Protocol ce guverneaza schimbul de date n cadrul Word Wide Web
Reprezinta o standardizare a modelului cerere/raspuns
Conform [1]: Tim Berners-Lee (ntre 1989 si 1991) este considerat primulcoordonator al unei echipe de cercetare axate pe dezvoltarea HTTP.
Primele specificatii dateaza din anul 1945, fiind propuse de Vannevar Bush
Versiuni HTTP
HTTP 1.0 mai 1996
HTTP 1.1 1997 1999
HTTP 1.2 februarie 2000
RIWeb 2014 2015/C08: Protocolul HTTP 5/ 24
-
Cuprins Arhitectura generala a motoarelor de cautare Definitie Specificatii Discutii Bibliografie
Definitie, caracteristici
Definitie (2)
Caracteristici
Nivel protocol (OSI) protocol de nivelaplicatie
Protocol transport implicit TCP
Port implicit 80
Tip protocol fara stare (stateless)
Schema de transfer Comunicatie de tipcerere/raspuns [2] Figura 3: Modelul cerere/raspuns aplicat n
cadrul protocolului HTTP
RIWeb 2014 2015/C08: Protocolul HTTP 6/ 24
-
Cuprins Arhitectura generala a motoarelor de cautare Definitie Specificatii Discutii Bibliografie
Cerere HTTP
Modelul cererii HTTP
Linie de cerere
METODA_HTTPresursa_doritaHTTP/VERSIUNE
Header-e HTTP
Header: valoare header
Linie vida
Caracterele
Corpul mesajului
Optional, este prezent n mod uzual daca cererea necesita parametrii optionali
RIWeb 2014 2015/C08: Protocolul HTTP 7/ 24
-
Cuprins Arhitectura generala a motoarelor de cautare Definitie Specificatii Discutii Bibliografie
Cerere HTTP
Sintaxa unei cereri HTTP si exemplu
Sintaxa cererii
METODA_HTTPresursa_doritaHTTP/VERSIUNE
Header-1: valoare header
Header-2: valoare header
...
Header-n: valoare header
Corp cerere
Model cerere
GET http://en.kioskea.net/ HTTP/1.0
Accept: text/html
If-Modified-Since: Saturday, 15-January-2000 14:37:11 GMT
User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows 95)
RIWeb 2014 2015/C08: Protocolul HTTP 8/ 24
-
Cuprins Arhitectura generala a motoarelor de cautare Definitie Specificatii Discutii Bibliografie
Metode HTTP
Metode HTTP
Definitie
Mod de identificare a actiunii dorite din partea serverului HTTP asupraresursei/documentului specificat n cerere.
Sinonim: predicat HTTP
Clasificari uzuale
Metode sigure (SAFE) acele metode HTTP a caror actiune nseamna doarregasirea unei anumite resurse si, eventual, transferul acesteia catreclientul apelant
Metode idempotente efectele unui set de cereri ce utilizeaza o metodaidempotenta sunt aceleasi, indiferent de numarul acelor cereri saude ordinea n care au fost generate acele cereri
RIWeb 2014 2015/C08: Protocolul HTTP 9/ 24
-
Cuprins Arhitectura generala a motoarelor de cautare Definitie Specificatii Discutii Bibliografie
Metode HTTP
Metode HTTP (2)
OPTIONS
Metoda HTTP idempotenta, prin intermediul careia se obtine listareacompleta a optiunilor disponibile pentru cereri/raspunsuri asupra uneianumite resurse.
Raspunsurile oferite pentru acest tip de interogare NU pot fi stocate n cache.
In cazul n care cererea OPTIONS include un header de tip entitate, atuncitrebuie specificat n mod obligatoriu si header-ul Content-Type.
O cerere OPTIONS poate interoga intreg serverul, nu numai o anumitaresursa. In acest caz, URI-ul indicat n cerere va specifica resursa *.
In cazul entitatilor de tip proxy, se poate specifica suplimentar header-ulMax-Forwards.
RIWeb 2014 2015/C08: Protocolul HTTP 10/ 24
-
Cuprins Arhitectura generala a motoarelor de cautare Definitie Specificatii Discutii Bibliografie
Metode HTTP
Metode HTTP (3)
Exemplu de apel OPTIONS
OPTIONS * HTTP/1.1
Host: 192.168.243.80
HTTP/1.1 200 OK
Date: Sun, 24 Oct 2010 18:57:00 GMT
Server: Apache/2.2.3 (CentOS)
Allow: GET,HEAD,POST,OPTIONS,TRACE
Content-Length: 0
Connection: close
Content-Type: text/plain; charset=UTF-8
RIWeb 2014 2015/C08: Protocolul HTTP 11/ 24
-
Cuprins Arhitectura generala a motoarelor de cautare Definitie Specificatii Discutii Bibliografie
Metode HTTP
Metode HTTP (4)
GET
Metoda HTTP sigura, idempotenta, prin intermediul careia se obtineinformatia identificata de URI-ul specificat de client.
Raspunsurile oferite pentru acest tip de interogare pot fi stocate n cache.
O cerere GET poate fi realizata n mai multe forme: GET conditional, GETpartial.
HEAD
Metoda HTTP echivalenta metodei GET, cu deosebirea ca NU returneazainformatia dorita de client, ci doar header-ul HTTP aferent resursei indicate.
Raspunsurile oferite pentru acest tip de interogare pot fi stocate n cache.
RIWeb 2014 2015/C08: Protocolul HTTP 12/ 24
-
Cuprins Arhitectura generala a motoarelor de cautare Definitie Specificatii Discutii Bibliografie
Metode HTTP
Metode HTTP (5)
POST
Metoda HTTP prin intermediul careia se cere, n mod uzual, unui serverWEB sa ataseze resursei indicate prin URI corpul transmis de catre client.
Raspunsurile unei astfel de cereri NU pot fi stocate n cache fara header-eHTTP suplimentare (Cache-Control sau Expires).
PUT
Metoda HTTP prin intermediul careia se cere stocarea informatiilor prezenten corpul mesajului n cadrul resursei identificate de URI-ul transmis de client.
DELETE
Metoda HTTP prin intermediul careia se cere stergerea resursei identificatede URI-ul transmis.
RIWeb 2014 2015/C08: Protocolul HTTP 13/ 24
-
Cuprins Arhitectura generala a motoarelor de cautare Definitie Specificatii Discutii Bibliografie
Metode HTTP
Metode HTTP (6)
TRACE
Metoda HTTP prin intermediul careia se cere invocarea unei aplicatii de tiploop-back.
Destinatarul final al unei astfel de cereri ar trebui sa returneze n corpulraspunsului cererea primita de la client.
Destinatarul final al unei astfel de cereri poate fi fie serverul de origine alresursei, fie prima entitate de tip proxy/gateway ce primeste headerulMax-Forwards cu valoare 0.
Cererile TRACE NU trebuie sa includa entitati.
RIWeb 2014 2015/C08: Protocolul HTTP 14/ 24
-
Cuprins Arhitectura generala a motoarelor de cautare Definitie Specificatii Discutii Bibliografie
Metode HTTP
Metode HTTP (7)
Exemplu de apel TRACE
TRACE /riw/index.html HTTP/1.1
Host: 192.168.243.80
HTTP/1.1 200 OK
Date: Sun, 24 Oct 2010 19:01:07 GMT
Server: Apache/2.2.3 (CentOS)
Connection: close
Transfer-Encoding: chunked
Content-Type: message/http
38
TRACE /riw/index.html HTTP/1.1
Host: 192.168.243.80
0
RIWeb 2014 2015/C08: Protocolul HTTP 15/ 24
-
Cuprins Arhitectura generala a motoarelor de cautare Definitie Specificatii Discutii Bibliografie
Raspuns HTTP
Modelul raspunsului HTTP
Linie de stare
HTTP/VERSIUNEStatus-CodeReason-Phrase
Header-e HTTP
Header: valoare header
Linie vida
Caracterele
Corpul mesajului
Optional, este prezent dependent de tipul cerererii.
RIWeb 2014 2015/C08: Protocolul HTTP 16/ 24
-
Cuprins Arhitectura generala a motoarelor de cautare Definitie Specificatii Discutii Bibliografie
Raspuns HTTP
Sintaxa raspunsului
HTTP/VERSIUNEStatus-CodeReason-Phrase
Header-1: valoare header
Header-2: valoare header
...
Header-n: valoare header
Corp r\u{a}spuns
RIWeb 2014 2015/C08: Protocolul HTTP 17/ 24
-
Cuprins Arhitectura generala a motoarelor de cautare Definitie Specificatii Discutii Bibliografie
Raspuns HTTP
Exemplu de raspuns
HTTP/1.1 405 Method Not Allowed
Date: Mon, 19 Oct 2009 09:04:05 GMT
Server: Apache/2
Allow:
ContentLength: 223
Connection: close
ContentType: text/html; charset=iso88591
405 Method Not Allowed
Method Not Allowed
The requested method TRACE is not allowed for the URL /.
RIWeb 2014 2015/C08: Protocolul HTTP 18/ 24
-
Cuprins Arhitectura generala a motoarelor de cautare Definitie Specificatii Discutii Bibliografie
Coduri de stare HTTP
Coduri de stare HTTP
Coduri 1xx INFORMATII
NU exista n cadrul versiunii HTTP/1.0 sau mai mic.
100 Continue: Serverul a primit header-ele corespunzatoare unei cerericlient, iar acesta din urma ar trebui sa transmita corpul cererii n cauza.Clientul trebuie sa includa header-ul Expect: 100-Continue n cererea sainitiala.
101 Switching-Protocols: Clientul a cerut schimbarea protocolului, acestraspuns avand semnificatie de acknowledge din partea serverului.
102 Processing: Acest raspuns indica pentru client faptul ca server-ul aprimit cererea, dar raspunsul NU este formulat nca.
RIWeb 2014 2015/C08: Protocolul HTTP 19/ 24
-
Cuprins Arhitectura generala a motoarelor de cautare Definitie Specificatii Discutii Bibliografie
Coduri de stare HTTP
Coduri de stare HTTP (2)
Coduri 2xx SUCCES
200 OK: raspunsul standard, n caz de succes.
201 Created: cererea a fost tratata cu succes, rezultatul nsemnand caraspunsul a fost creat sub forma unei resurse noi.
202 Accepted: cererea a fost acceptata spre procesare, dar procesarearaspunsului NU s-a incheiat.
203 Non Authoritative Information (HTTP/1.1): cererea a fost procesatacu succes, dar informatia rezultat a fost/poate fi preluata dintr-o resursa cenu apartine serverului.
206 Partial Content: cererea a fost procesata cu succes, dar serverulreturneaza doar un continut partial, ca urmare a header-ului Range inclus declient.
RIWeb 2014 2015/C08: Protocolul HTTP 20/ 24
-
Cuprins Arhitectura generala a motoarelor de cautare Definitie Specificatii Discutii Bibliografie
Coduri de stare HTTP
Coduri de stare HTTP (3)
Coduri 3xx REDIRECTARE
Acest tip de coduri sunt n general ntalnite n cazurile n care clientul trebuiesa realizeze un set suplimentar de actiuni pentru a prelua resursa dorita.
Coduri 4xx ERORI CLIENT
Cererea client fie contine erori de sintaxa, fie NU poate fi procesata.
400 Bad Request: sintaxa cererii este eronata, sau cererea nu poate fiprocesata.
404 Not Found: resursa specificata n cerere nu poate fi gasita.
405 Not Allowed: cererea a fost realizata utilizand o metoda interzisapentru resursa indicata.
RIWeb 2014 2015/C08: Protocolul HTTP 21/ 24
-
Cuprins Arhitectura generala a motoarelor de cautare Definitie Specificatii Discutii Bibliografie
Coduri de stare HTTP
Coduri de stare HTTP (4)
Coduri 5xx ERORI SERVER
Acest tip de coduri de eroare indica, n mod uzual, faptul ca serverul nupoate procesa o cerere aparent valida.
500 Internal Server Error: cod de eroare generic.
501 Not Implemented: serverul fie nu recunoaste metoda indicata ncerere, fie nu poate utiliza metoda n cauza.
503 Service Unavailable: serverul este temporar indisponibil.
505 HTTP Version Not Supported: serverul nu raspunde pentru versiuneaprotocolului indicata n cerere.
RIWeb 2014 2015/C08: Protocolul HTTP 22/ 24
-
Cuprins Arhitectura generala a motoarelor de cautare Definitie Specificatii Discutii Bibliografie
Discutii
1 Care sunt etapele implicate de analiza corecta a unui raspuns HTTP pentru aprelua un document HTML?
2 Cum preluam o resursa WEB utilizand un proxy?
RIWeb 2014 2015/C08: Protocolul HTTP 23/ 24
-
Cuprins Arhitectura generala a motoarelor de cautare Definitie Specificatii Discutii Bibliografie
Bibliografie
1 The History of the Internet By Mary Bellis, About.com Guide
2 The HTTP protocol @ kioskea
3 Hypertext Transfer Protocol From Wikipedia, the free encyclopedia
4 Hypertext Transfer Protocol HTTP/1.1, RFC 2616 Fielding, et al.
5 List of HTTP header fields From Wikipedia, the free encyclopedia
6 List of HTTP status codes From Wikipedia, the free encyclopedia
7 Christopher D. Manning, Prabhakar Raghavan and Hinrich Schutze,Introduction to Information Retrieval, Cambridge University Press. 2008
RIWeb 2014 2015/C08: Protocolul HTTP 24/ 24
Arhitectura generala a motoarelor de cautareMotor de cautare pe WEBRobot WEB
DefinitieDefinitie, caracteristici
SpecificatiiCerere HTTPMetode HTTPRaspuns HTTPCoduri de stare HTTP
Discutii