HTTP

Cos’è HTTP

HTTP acronimo di Hypertext Transfer Protocol è un protocollo di trasferimento di ipertesti (i documenti web).

Si basa su un modello Requeste-Response: Domanda (del client) – Risposta (del server) senza memoria delle richieste-risposte precedenti, per questo è un Stateless Protocol.

Riesce però a gestire le informazioni necessarie con meccanismi che si appoggiano ai dati archiviati dallo user-agent (ad esempio tramite HTTP Headers – Cookies) per cui è un Stateful Session Protocol.

Per questo HTTP è un protocollo stateless, ma non sessionless.

User Agent

Gli user-agent sono tutti i dispositivi, tra cui i browser, in grado di gestire il protocollo HTTP e gli ipertesti.

HTTP/1.1

Gli standard della versione 1.1 sono stati gestiti dal W3C e qui si trovano le RFC attualmente valide : https://www.w3.org/Protocols/

HTTP/2

La versione 2 è stata invece affidata allo IETF HTTP Working Group. Si tratta di un’ottimizzazione delle performance dell’HTTP/1.1 (compressione migliorata e dr multiple sulla stessa connessione TCP) e dell’aggiunta della possibilità da parte del server di effettuare push di risorse (ti mando oltre al documento html anche i css, js, … perché so già che ti serviranno). Tutte le altre specifiche esistenti per l’HTTP/1.1 restano sostanzialmente le stesse.

Oggigiorno circa il 27% delle connessioni è su HTTP/2.

La documentazione ufficiale dell’HTTP/2 è tenuta dallo IETF HTTP Working Group.

Nel sito dello IETF HTTP Working Group è presente anche una raccolta ufficiale della documentazione HTTP/1.1.

HTTPS

Encryption

URI

Un Uniform Resource Identifier identifica una risorsa su internet ed è definito proprio nell’rfc di http/1.1

Può essere un URL o un URN.

Esempi di URL:

  • ftp://ftp.lidialab.it/lidialab.txt
  • http://lidialab.it/lidialab.html
  • file://C:/lidialab.txt
  • mailto:info@lidialab.it
  • telnet://net.lidialab.it/
  • irc://irc.freenode.net/lidialab

URN

Un Uniform Resource Name  è un URI che identifica una risorsa senza la locazione della stessa.

Esempi di URN:

  • tel:+1111-1111-1111
  • isbn:0-111-22334-5

URL

Un Uniform Resource Locator è un tipo di URI che identifica univocamente l’indirizzo di una risorsa Internet, come ad esempio un documento html, un file css o js, un’immagine.

Schema di un URL

protocollo://[username[:password]@]host[:porta]</percorso>[?querystring][#fragment]

Metodi HTTP

GET
HEAD
POST
PUT
DELETE
CONNECT
OPTIONS
TRACE

Tool

Firefox > Developer Tool > Network (Rete) > Abilitare Tutti e ricaricare la pagina

Corsi, letture per lo studio

HTTP Essential Training with Morten Rand-Hendriksen on Lynda.com