Hypertext Transfer Protocol: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
mNessun oggetto della modifica |
||
Riga 1:
{{IPstack}}
'''HTTP''' è l'acronimo di '''H'''yper'''T'''ext '''T'''ransfer '''P'''rotocol (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, la 0.9, dell'HTTP risale alla fine degli anni '80 del [[XX secolo]] e costituiva, insieme con l'[[HTML]] e gli [[Uniform Resource Locator|URL]], il nucleo base della "World-Wide Web [[WWW]] global information initiative" portata avanti da [[Tim Berners-Lee]] al [[CERN]] di [[Ginevra (città)|Ginevra]] per la condivisione delle informazioni tra la comunità dei [[Fisica|fisici]] delle [[Energia|alte energie]].
Riga 13 ⟶ 11:
Il protocollo venne quindi esteso nella versione HTTP/1.1, presentato come RFC 2068 nel 1997.
L'HTTP funziona su un meccanismo 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 due tipi di messaggi HTTP: messaggi richiesta e messaggi risposta.▼
▲Vi sono quindi due tipi di messaggi HTTP: messaggi richiesta e messaggi
HTTP differisce da altri protocolli di [[livello applicazioni|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'')
== Messaggio di richiesta ==
Riga 38 ⟶ 33:
* CONNECT
l<nowiki>'</nowiki>'''[[URI]]''' sta per '''U'''niform '''R'''esource '''I'''dentifier 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.▼
▲In questo caso l'URI indica che cosa si sta inviando e il body ne indica il
=== Gli header della richiesta ===
Riga 56 ⟶ 47:
'''Host'''. Nome del server a cui si riferisce l'URI. È obbligatorio nelle richieste conformi HTTP/1.1 per ché permette l'uso dei ''virtual host'' basati sui nomi.
'''User-Agent'''. Identificazione del tipo di client: tipo browser, marca, versione, ecc.)
== Messaggio di risposta ==
Riga 74 ⟶ 64:
* 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 è raggiungibile con un altro URI indicato nel header Location. 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 rimosso il contenuto dal server.
'''500 Internal Server Error'''. Il server non è in grado di rispondere alla richiesta per un suo problema interno.
=== Gli header della risposta ===
Riga 140 ⟶ 124:
== Riferimenti ==
*
*
[[Categoria:Protocolli di rete]]
|