Pagina iniziale | Navigazione |
Google

HTTP

HTTP è l'acronimo di HyperText Transfer Protocol (protocollo di trasferimento di un ipertesto). Usato come principale sistema per la trasmissione di informazioni sul web. Le specifiche del protocollo sono attualmente in carica al W3C (World Wide Web Consortium)

La prima versione dell'HTTP risale al 1945 ed frutto degli studi di Vannervar Bush. Venne pensato per la gestione in rete dei documenti HTML. L'HTTP funziona su un mecchanismo richiesta/risposta: il client esegue una richiesta ed il server restituisce la risposta. Nell'uso comune il client corrisponde al browser ed il server al sito web. Vi sono quindi tue tipi di messaggi HTTP: messaggi richiesta e messaggi risposta.

HTTP differisce da altri protocolli di livello 5 come FTP, per il fatto che le connessioni vengono generalmente chiuse una volta che una particolare richiesta (o una serie di richieste correlate) è stata soddisfatta. Questo comportamento rende il protocollo HTTP ideale per il World Wide Web, in cui le pagine molto spesso contengono dei collegamenti (link) a pagine ospitate da altri server. Talvolta però pone problemi agli sviluppatori di contenuti web, perchè la natura senza stato (stateless) costringe ad utilizzare dei metodi alternativi per conservare lo stato dell'utente. Spesso questi metodi si basano sull'uso dei cookie .

Esiste anche una versione sicura del protocollo HTTP chiamata HTTPS, usa vari sistemi di crittografia per rendere la comunicazione comprensibile solo a client e server.

Le versioni attualmente in uso dell'HTTP sono la 1.0 e la 1.1.

Table of contents
1 Messagio di richiesta
2 Messaggio di risposta
3 Esempi di messaggi HTTP
4 Riferimenti

Messagio di richiesta

Il messaggio richiesta è composto di tre parti:
  • Linea di richiesta (request line)
  • Sezione Header (informazioni aggiuntive)
  • Body (corpo del messaggio)

Linea di richiesta

La linea di richiesta è composta dal metodo, URI e versione del protocollo. Il metodo di richiesta può essere uno dei seguenti
  • GET
  • POST
  • HEADER
  • PUT
  • DELETE
  • TRACE
  • CONNECT

l'
URI sta per Uniform Resource Identifier ed indica l'oggetto della richiesta (ad esempio la pagina web che si intende ottenere)

I metodi HTTP più comuni sono GET e POST. Il metodo GET è usato per ottenere il contenuto della risorsa indicata come URI (come può essere il contenuto di una pagina HTML ). Una richiesta con metodo GET non prevede l'uso del body

Il metodo POST è usato di norma per inviare informazioni al server (ad esempio i dati di un form) In questo caso l'URI indica che cosa si sta inviando e il body ne indica il contenuto.

Gli header della richiesta

Gli header di richiesta più comuni sono:

Host. Nome del server a cui si riferisce l'URI).

User-Agent. Identificazione del tipo di client: tipo browser, marca, versione ecc.)

Messaggio di risposta

Il messaggio di risposta è composto dalle seguenti tre parti:
  • Linea di stato (status-line)
  • Sezione header
  • Body (contenuto della risposta)

Linea di stato

La linea di stato riporta un codice a tre cifre catalogato nel seguento modo:

  • 1xx : Informational
  • 2xx: Success
  • 3xx: Redirection
  • 4xx: Client error
  • 5xx: Server error

Nel caso più comune il server risponde con un codice 200 (OK) e fornisce contentuto nella sezione body. Altri casi comuni sono:

302 Found. La risorsa è raggoiungibile con un altro URI indicato nel header Locaion. Di norma i browser eseguono la richiesta all'URI indicato in modo automatico senza interazione dell'utente.

404 Not Found. La risorsa richiesta non è stata trovata e non se ne conosce l'ubicazione. Di solito avviene quando l'URI è indicato in modo incorretto od è stato il contenuto dal server.

500 Internal Server Error. Il server non è in grado di risolvere la richiesta per un suo problema interno.

Gli header della risposta

Gli header della risposta più comuni sono:

Esempi di messaggi HTTP

Richiesta:

GET /wiki/Pagina_principale HTTP/1.1 
Connection: Keep-Alive
User-Agent: Mozilla/5.0 (compatible; Konqueror/3.2; Linux) (KHTML, like Gecko)
Accept: text/html, image/jpeg, image/png, text/*, image/*, */*
Accept-Encoding: x-gzip, x-deflate, gzip, deflate, identity
Accept-Charset: iso-8859-1, utf-8;q=0.5, *;q=0.5 
Accept-Language: en
Host: it.wikipedia.org

Risposta:

HTTP/1.0 200 OK
Date: Mon, 28 Jun 2004 10:47:31 GMT
Server: Apache/1.3.29 (Unix) PHP/4.3.4
X-Powered-By: PHP/4.3.4
Vary: Accept-Encoding,Cookie
Cache-Control: private, s-maxage=0, max-age=0, must-revalidate
Content-Language: it
Content-Type: text/html; charset=utf-8
Age: 7673
X-Cache: HIT from wikipedia.org
Connection: close
  

[ ...] 

Riferimenti













GNU Fdl - it.Wikipedia.org




Google | 

Enciclopedia |  La Divina Commedia di Dante |  Mappa | : A |  B |  C |  D |  E |  F |  G |  H |  I |  J |  K |  L |  M |  N |  O |  P |  Q |  R |  S |  T |  U |  V |  W |  X |  Y |  Z |