HTTP - Panoramica
Il protocollo HTTP (Hypertext Transfer Protocol) è un protocollo a livello di applicazione per sistemi informativi distribuiti, collaborativi e ipermediali. Questa è la base per la comunicazione di dati per il World Wide Web (cioè Internet) dal 1990. HTTP è un protocollo generico e senza stato che può essere utilizzato anche per altri scopi utilizzando estensioni dei suoi metodi di richiesta, codici di errore e intestazioni.
Fondamentalmente, HTTP è un protocollo di comunicazione basato su TCP / IP, utilizzato per fornire dati (file HTML, file immagine, risultati di query, ecc.) Sul World Wide Web. La porta predefinita è TCP 80, ma è possibile utilizzare anche altre porte. Fornisce un modo standardizzato per i computer di comunicare tra loro. La specifica HTTP specifica come i dati della richiesta dei client verranno costruiti e inviati al server e come i server rispondono a queste richieste.
Caratteristiche di base
Ci sono tre caratteristiche di base che rendono HTTP un protocollo semplice ma potente:
HTTP is connectionless:Il client HTTP, ovvero un browser avvia una richiesta HTTP e dopo che è stata effettuata una richiesta, il client attende la risposta. Il server elabora la richiesta e invia una risposta dopo la quale il client disconnette la connessione. Quindi client e server si conoscono solo durante la richiesta e la risposta correnti. Ulteriori richieste vengono effettuate su una nuova connessione come client e server sono nuovi l'uno per l'altro.
HTTP is media independent:Significa che qualsiasi tipo di dati può essere inviato tramite HTTP purché sia il client che il server sappiano come gestire il contenuto dei dati. È necessario che il client e il server specifichino il tipo di contenuto utilizzando il tipo MIME appropriato.
HTTP is stateless:Come accennato in precedenza, HTTP è senza connessione ed è il risultato diretto del fatto che HTTP è un protocollo senza stato. Il server e il client si conoscono solo durante una richiesta corrente. Successivamente, entrambi si dimenticano l'uno dell'altro. A causa di questa natura del protocollo, né il client né il browser possono conservare le informazioni tra le diverse richieste nelle pagine web.
HTTP / 1.0 utilizza una nuova connessione per ogni scambio di richiesta / risposta, dove come connessione HTTP / 1.1 può essere utilizzata per uno o più scambi di richiesta / risposta.
Architettura di base
Il diagramma seguente mostra un'architettura di base di un'applicazione Web e illustra dove si trova HTTP:
Il protocollo HTTP è un protocollo di richiesta / risposta basato sull'architettura basata su client / server in cui browser Web, robot e motori di ricerca, ecc. Agiscono come client HTTP e il server Web funge da server.
Cliente
Il client HTTP invia una richiesta al server sotto forma di un metodo di richiesta, URI e versione del protocollo, seguita da un messaggio simile a MIME contenente modificatori di richiesta, informazioni sul client e possibile contenuto del corpo su una connessione TCP / IP.
server
Il server HTTP risponde con una riga di stato, inclusa la versione del protocollo del messaggio e un codice di successo o errore, seguito da un messaggio simile a MIME contenente informazioni sul server, meta informazioni dell'entità e possibile contenuto del corpo dell'entità.