HyperText Transfer Protocolo

16
Serveis web i de transferència de fitxers Francesc Pérez Fdez 1. HTTP HTTP (HyperText Transfer Protocol) és un estàndard de la capa d’aplicació definit al RFC 2616 que s’ha utilitzat des de 1990 a la World Wide Web com a protocol client-servidor per a la descàrrega de pàgines i recursos web. La versió més actual de l’estàndard és la 1.1 (RFC 2616). HTTP defineix la sintaxi i la semàntica que utilitzan els elements de software de la arquitectura web (clients, servidors, proxies ) per a comunicar-se. Utilitza TCP com a protocol de transport. Un Uniform Resource Identifier o URI (en català "identificador uniforme de Comença amb un #. Identifica una part del recurs principal. Són com una mena de subdominis dins del recurs https://twitter.com/?lang=es&lo gged_out=1#!/FPNETZONE Un Uniform Resource Identifier o URI (en català "identificador uniforme de recurs") és una cadena de caràcters curta que identifica inequívocament un recurs (servei, pàgina, document, etc.). Els URI poden ser localitzadors uniformes de recursos (URL, on?) o noms de recursos uniformes (URN, què?), o ambdós. Parts d’un URI: http: ftp: mailto: Nom de domini jeràrquic www.fpnetzone.com URN Esquema Autoritat Ruta Consulta Fragment URL Camí jeràrquic de la pàgina o recurs /component/search/ Comença amb un ?. És opcional. ?searchword=fpnetzone &ordering=&searchphra se=all

Transcript of HyperText Transfer Protocolo

Page 1: HyperText Transfer Protocolo

Serveis web i de transferència de fitxers Francesc Pérez Fdez

1. HTTP

• HTTP (HyperText Transfer Protocol) és un estàndard de la capa d’aplicació definit al RFC 2616 que s’ha utilitzat des de 1990 a la WorldWide Web com a protocol client-servidor per a la descàrrega de pàgines i recursos web. La versió més actual de l’estàndard és la 1.1 (RFC 2616). HTTP defineix la sintaxi i la semàntica que utilitzan els elements de software de la arquitectura web (clients, servidors, proxies) per a comunicar-se. Utilitza TCP com a protocol de transport.

• Un Uniform Resource Identifier o URI (en català "identificador uniforme de

Comença amb un #. Identifica una part del recurs principal.

Són com una mena de subdominis dins del recurs

https://twitter.com/?lang=es&logged_out=1#!/FPNETZONE

• Un Uniform Resource Identifier o URI (en català "identificador uniforme de recurs") és una cadena de caràcters curta que identifica inequívocament un recurs (servei, pàgina, document, etc.). Els URI poden ser localitzadors uniformes de recursos (URL, on?) o noms de recurso s uniformes (URN, què?) , o ambdós. Parts d’un URI:

http: ftp: mailto:

Nom de domini jeràrquic

www.fpnetzone.com

URN

Esquema Autoritat Ruta Consulta Fragment

URL

Camí jeràrquic de la pàgina o recurs

/component/search/

Comença amb un ?. És opcional.

?searchword=fpnetzone&ordering=&searchphra

se=all

Page 2: HyperText Transfer Protocolo

Serveis web i de transferència de fitxers Francesc Pérez Fdez

1. HTTP

• Per adreçar-nos a un recurs remot, ho poden fer utilitzant una URL o una URN, tot i que les URNs són un format encara poc utilitzat.

• En la següents imatge es mostra alguns dels esquemes més habituals de URL.

Page 3: HyperText Transfer Protocolo

Serveis web i de transferència de fitxers Francesc Pérez Fdez

1. HTTP

• HTTP és un protocol sense estat , és a dir, no guarda informació sobre connexions anteriors. Per exemple, en una pàgina web amb validació d’usuari i amb la possibilitat de configurar les nostres preferències necessitaríem validar-nos i configurar-les cada vegada que volguéssim accedir a un recurs mitjançant la seva URI (URL habitualment). Per evitar aquest fet els servidors poden emmagatzemar una peça de codi anomenat cookie en el disc dur del client.

• Les cookies poden suposar un forat • Les cookies poden suposar un forat en la seguretat del nostre PC. Moltesvegades són peces de codi que intenten captar els hàbits de navegació dels clients (spyware ) per agències de publicitat. Això pot causar problemes de privacitati és per aquest motiu que tenen molts detractors.

• Les cookies poden ser esborrades, acceptades o bloquejades segons la configuració del navegador web del client.

Page 4: HyperText Transfer Protocolo

Serveis web i de transferència de fitxers Francesc Pérez Fdez

1. HTTP, exemple de transacció

Page 5: HyperText Transfer Protocolo

Serveis web i de transferència de fitxers Francesc Pérez Fdez

1. HTTP, exemple de transacció

• Obrim una sessió telnet amb el servidor en.wikipedia.org pel port TCP 80, que és el que per defecte utilitza l’aplicació web

• Demanem (GET, acció sobre el servidor ) el recurs Main_Page allotjat a en.wikipedia.org/wiki/Main_Page utilitzant la versió http 1.1 , compatible amb versions anteriors.

• El servidor indica al client que la seva consulta ha tingut èxit (HTTP 1.0 200 ok) utilitzant la versió http 1.0. Després utilitza encapçalats que 200 ok) utilitzant la versió http 1.0. Després utilitza encapçalats que contenen informació del recurs (Main_Page) que ha sol·licitat el client:� Data de la consulta 03/07/2008 11:12h� Tipus de servidor Apache� Versió del llenguatge intèrpret PHP 2.5.2 amb el que el servidor ha

obtingut les dades consultant la base de dades on està emmagatzemat el recurs (Web 2.0)

� Idioma anglès� Data de la darrera modificació del contingut (03/07/2008)� Codificació dels caràcters UTF-8� Mida del recurs 54218B� Tipus de recurs HTML� Si la web ha d’estar en cache i en quines condicions (cache control)

Page 6: HyperText Transfer Protocolo

Serveis web i de transferència de fitxers Francesc Pérez Fdez

1. HTTP, exemple de transacció

Page 7: HyperText Transfer Protocolo

Serveis web i de transferència de fitxers Francesc Pérez Fdez

1. HTTP, exemple de transacció

Quan compari les dades de la transacció

telnet amb la descàrrega del client web tingui

en compte que s’han fet amb una diferència

de tres anys!!

Page 8: HyperText Transfer Protocolo

Serveis web i de transferència de fitxers Francesc Pérez Fdez

2. HTTP, format del missatge

• Missatge de sol·licitud (de client a servidor)� Format de la sol·licitud = MÈTODE URI_del_recurs versió_http� Tipus de mètodes :

� GET: demana la descàrrega del recurs al servidor.� HEAD: igual que un GET, el servidor retorna el Response_Header

del recurs però no ha de retorna el Response_Body.� POST: especifica que el recurs, adjunt al cos de la sol·licitud, sigui

processat per l’aplicació indicada a la URI.� PUT: el client sol·licita al servidor que emmagatzemi el recurs al � PUT: el client sol·licita al servidor que emmagatzemi el recurs al

path especificat per la URI.� DELETE: el client sol·licita al servidor que esborri el recurs al path

especificat per la URI.� TRACE: el client sol·licita al servidor que retorni el missatge

contingut al cos de la sol·licitud. S’utilitza amb fins de diagnòstic i verificació.

� CONNECT: el client utilitza aquest mètode per establir una connexió amb un proxy.

Page 9: HyperText Transfer Protocolo

Serveis web i de transferència de fitxers Francesc Pérez Fdez

2. HTTP, format del missatge

• Missatge de resposta (de servidor a client)� Format de la resposta = versió_http codi_resposta Motiu� Tipus de codis :

Page 10: HyperText Transfer Protocolo

Serveis web i de transferència de fitxers Francesc Pérez Fdez

3. Servidors web

• Actualment el servidor web Apache és el més utilitzat, amb una quota de mercat del 65% aproximadament, seguit del IIS integrat al servidors Windows que tenen una quota de mercat del 16% aproximadament.

Page 11: HyperText Transfer Protocolo

Serveis web i de transferència de fitxers Francesc Pérez Fdez

4. Proxy

• És un dispositiu que controla l’accés que des de la xarxa interna (LAN) es fa als serveis que estan disponibles en altres xarxes, com por exemple Internet. Fa d’intermediari, s’encarrega de realitzar les peticions de la LAN cap a Internet.

Ex1. Connectis a www.myip.es. Quin resultat ha obtingut?

Ex2. Connectis a www.anonymouse.org i escrigui la següent pàgina www.myip.es. Quin resultat ha obtingut? Què podria dir del servidor que allotja la web www.anonymouse.org?

Ex3. Dibuixi la topologia de xarxa utilitzada a la consulta web de la pàgina www.myip.es en l’exercici u i dos. Tingui en compte la LAN des de on es connecta.

Page 12: HyperText Transfer Protocolo

Serveis web i de transferència de fitxers Francesc Pérez Fdez

4. Proxy

• Característiques d’un dispositiu proxy:� Permet el filtratge de contingut segons els permisos que tenen els

usuaris de la LAN sobre els serveis, dominis i adreces IP de Internet.

� Tots els usuaris de la LAN comparteixen una única adreça IP, de forma que des de l’exterior no es pot diferenciar a uns dels altres.

� Permet auditar l’us que es fa de Internet: consultes més freqüents, usuaris amb major ample de banda, etc.usuaris amb major ample de banda, etc.

� Permet emmagatzemar les pàgines recentment consultades en una cache per augmentar el rendiment de la xarxa. Si utilitzem un proxy i sol·licitem una pàgina que té emmagatzemada a la seva cache, el proxy tornarà la que conserva sense realitzar la consulta al servidor de Internet.

Page 13: HyperText Transfer Protocolo

Serveis web i de transferència de fitxers Francesc Pérez Fdez

4. Proxy

Ex1. Descarregui i instal·li el AddOn per a Firefox SwitchProxy. Quina funció realitza aquesta peça de codi?

Ex2. Busqui a Internet una llista de deu servidors proxy gratuïts. (www.proxys.com.ar, www.webproxy.com.es). Inserti a un fitxer .txt l’adreça IP o domini i el port de connexió dels servidors trobats.

200.29.34.56:80123.34.1.34:100……

Ex3. Llegeixi a la web el funcionament d’aquest complement de Firefox i configuri’l per a que utilitzi els deu servidors proxys definits. Ha d’utilitzar un servidor proxy cada 60 segons. Comprovi novament accedint a www.myip.esque la localització que està detectant és diferent a la de la nostra connexió a Internet i que a més a més està canviant cada 60 segons.

Page 14: HyperText Transfer Protocolo

Serveis web i de transferència de fitxers Francesc Pérez Fdez

4. Proxy

• Arquitectures web amb Proxy� Proxy: escolta peticions del servei configurat i realitza la consulta a

Internet per l’ordenador intern.

Page 15: HyperText Transfer Protocolo

Serveis web i de transferència de fitxers Francesc Pérez Fdez

4. Proxy

• Arquitectures web amb Proxy� Proxy NAT: és una combinació de NAT y proxy

Page 16: HyperText Transfer Protocolo

Serveis web i de transferència de fitxers Francesc Pérez Fdez

4. Proxy

• Arquitectures web amb Proxy� Proxy Transparent: és com un proxy NAT però sense NAT