-
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