Aggiungi ai favoriti set Homepage
Posizione:Casa >> Notizie

Gamma Prodotti

Prodotti Tag

Siti FMUSER

Cos'è l'HTTP?

Date:2020/9/19 16:00:36 Hits:


HTTP è un protocollo che consente il recupero di risorse, come i documenti HTML. È la base di qualsiasi scambio di dati sul Web ed è un protocollo client-server, il che significa che le richieste vengono avviate dal destinatario, di solito il browser Web. Un documento completo viene ricostruito dai diversi sotto-documenti recuperati, ad esempio testo, descrizione del layout, immagini, video, script e altro.

Client e server comunicano scambiandosi messaggi individuali (al contrario di un flusso di dati). I messaggi inviati dal client, solitamente un browser Web, sono chiamati richieste e i messaggi inviati dal server come risposta sono chiamati risposte.





HTTP come protocollo a livello di applicazione, sopra TCP (livello di trasporto) e IP (livello di rete) e sotto il livello di presentazione Progettato all'inizio degli anni '1990, HTTP è un protocollo estensibile che si è evoluto nel tempo. Si tratta di un protocollo a livello di applicazione che viene inviato su TCP o su una connessione TCP crittografata con TLS, sebbene teoricamente potrebbe essere utilizzato qualsiasi protocollo di trasporto affidabile. Grazie alla sua estensibilità, viene utilizzato non solo per recuperare documenti ipertestuali, ma anche immagini e video o per pubblicare contenuti su server, come con i risultati dei moduli HTML. HTTP può essere utilizzato anche per recuperare parti di documenti per aggiornare le pagine Web su richiesta.


Componenti di sistemi basati su HTTP


HTTP è un protocollo client-server: 
le richieste vengono inviate da un'entità, lo user-agent (o un proxy per conto di esso). Il più delle volte lo user-agent è un browser Web, ma può essere qualsiasi cosa, ad esempio un robot che esegue la scansione del Web per popolare e mantenere un indice del motore di ricerca.
Ogni singola richiesta viene inviata a un server, che la gestisce e fornisce una risposta, chiamata risposta. Tra il client e il server ci sono numerose entità, chiamate collettivamente proxy, che eseguono diverse operazioni e agiscono come gateway o cache, ad esempio.
In realtà, ci sono più computer tra un browser e il server che gestisce la richiesta: ci sono router, modem e altro. Grazie alla struttura a strati del Web, questi sono nascosti nella rete e nei livelli di trasporto. HTTP è in primo piano, a livello dell'applicazione. Sebbene importanti per diagnosticare i problemi di rete, i livelli sottostanti sono per lo più irrilevanti per la descrizione di HTTP.

Cliente: lo user-agent
Lo user-agent è qualsiasi strumento che agisce per conto dell'utente. Questo ruolo viene svolto principalmente dal browser Web; altre possibilità sono i programmi utilizzati da ingegneri e sviluppatori Web per eseguire il debug delle loro applicazioni.
Il browser è sempre l'entità che avvia la richiesta. Non è mai il server (sebbene nel corso degli anni siano stati aggiunti alcuni meccanismi per simulare i messaggi avviati dal server).

Per presentare una pagina Web, il browser invia una richiesta originale per recuperare il documento HTML che rappresenta la pagina. Quindi analizza questo file, effettuando richieste aggiuntive corrispondenti a script di esecuzione, informazioni sul layout (CSS) da visualizzare e sotto-risorse contenute all'interno della pagina (solitamente immagini e video). Il browser Web quindi mescola queste risorse per presentare all'utente un documento completo, la pagina Web. Gli script eseguiti dal browser possono recuperare più risorse nelle fasi successive e il browser aggiorna la pagina Web di conseguenza.

Una pagina Web è un documento ipertestuale. Ciò significa che alcune parti del testo visualizzato sono collegamenti che possono essere attivati ​​(di solito con un clic del mouse) per recuperare una nuova pagina Web, consentendo all'utente di dirigere il proprio agente utente e navigare nel Web. Il browser traduce queste indicazioni in richieste HTTP e interpreta ulteriormente le risposte HTTP per presentare all'utente una risposta chiara.


Il server Web
Sul lato opposto del canale di comunicazione, è il server, che serve il documento come richiesto dal client. Un server appare virtualmente come un'unica macchina: questo perché può effettivamente essere una raccolta di server, che condivide il carico (bilanciamento del carico) o un software complesso che interroga altri computer (come cache, un server DB o e-commerce server), generando totalmente o parzialmente il documento su richiesta.
Un server non è necessariamente una singola macchina, ma più istanze di software server possono essere ospitate sulla stessa macchina. Con HTTP / 1.1 e l'intestazione Host, possono persino condividere lo stesso indirizzo IP.

Proxy

Tra il browser Web e il server, numerosi computer e macchine inoltrano i messaggi HTTP. A causa della struttura a strati dello stack Web, la maggior parte di questi opera a livello di trasporto, di rete o fisico, diventando trasparente a livello HTTP e con un potenziale impatto significativo sulle prestazioni. Quelli che operano ai livelli dell'applicazione sono generalmente chiamati proxy. Questi possono essere trasparenti, inoltrando le richieste che ricevono senza alterarle in alcun modo, oppure non trasparenti, nel qual caso modificheranno in qualche modo la richiesta prima di trasmetterla al server.

I proxy possono svolgere numerose funzioni:

● caching (la cache può essere pubblica o privata, come la cache del browser)
● filtraggio (come una scansione antivirus o il controllo genitori)
● bilanciamento del carico (per consentire a più server di servire le diverse richieste)
● autenticazione (per controllare l'accesso a diverse risorse)

● logging (consentendo la memorizzazione di informazioni storiche)





Aspetti di base di HTTP


HTTP è semplice
HTTP è generalmente progettato per essere semplice e leggibile dall'uomo, anche con la complessità aggiunta introdotta in HTTP / 2 incapsulando i messaggi HTTP in frame. I messaggi HTTP possono essere letti e compresi dagli esseri umani, fornendo test più facili per gli sviluppatori e ridotta complessità per i nuovi arrivati.


HTTP è estensibile
Introdotte in HTTP / 1.0, le intestazioni HTTP rendono questo protocollo facile da estendere e sperimentare. Nuove funzionalità possono anche essere introdotte da un semplice accordo tra un client e un server sulla semantica di una nuova intestazione.


HTTP è senza stato, ma non senza sessione

HTTP è senza stato: non esiste alcun collegamento tra due richieste eseguite in successione sulla stessa connessione. Ciò ha immediatamente la prospettiva di essere problematico per gli utenti che tentano di interagire in modo coerente con determinate pagine, ad esempio utilizzando i carrelli della spesa dell'e-commerce. Ma mentre il nucleo di HTTP stesso è senza stato, i cookie HTTP consentono l'uso di sessioni con stato. Utilizzando l'estensibilità dell'intestazione, i cookie HTTP vengono aggiunti al flusso di lavoro, consentendo la creazione di sessioni su ciascuna richiesta HTTP per condividere lo stesso contesto o lo stesso stato.






HTTP e connessioni
Una connessione è controllata a livello di trasporto e quindi fondamentalmente al di fuori dell'ambito di HTTP. Sebbene HTTP non richieda che il protocollo di trasporto sottostante sia basato sulla connessione; richiedendo solo che sia affidabile, o che non perda i messaggi (quindi presentando almeno un errore). Tra i due protocolli di trasporto più comuni su Internet, TCP è affidabile e UDP no. HTTP quindi si basa sullo standard TCP, che è basato sulla connessione.

Prima che un client e un server possano scambiare una coppia richiesta / risposta HTTP, devono stabilire una connessione TCP, un processo che richiede diversi round trip. Il comportamento predefinito di HTTP / 1.0 è aprire una connessione TCP separata per ogni coppia di richiesta / risposta HTTP. Ciò è meno efficiente rispetto alla condivisione di una singola connessione TCP quando più richieste vengono inviate in stretta successione.

Per mitigare questo difetto, HTTP / 1.1 ha introdotto il pipelining (che si è rivelato difficile da implementare) e le connessioni persistenti: la connessione TCP sottostante può essere parzialmente controllata utilizzando l'intestazione Connection. HTTP / 2 è andato un passo avanti moltiplicando i messaggi su una singola connessione, contribuendo a mantenere la connessione calda e più efficiente.

Sono in corso esperimenti per progettare un protocollo di trasporto migliore più adatto a HTTP. Ad esempio, Google sta sperimentando QUIC che si basa su UDP per fornire un protocollo di trasporto più affidabile ed efficiente.


Lasciate un messaggio 

Nome *
E-mail *
Telefono
Indirizzo
Code Vedere il codice di verifica? Fare clic su Aggiorna!
Messaggio
 

Elenco dei messaggi

Commenti Caricamento in corso ...
Casa| Chi siamo| Prodotti| Notizie| Scaricare| Assistenza| Feedback| Contatti| Servizi

Contatto: Zoey Zhang Web: www.fmuser.net

Whatsapp / Wechat: +86 183 1924 4009

Skype: tomleequan E-mail: [email protected] 

Facebook: FMUSERBROADCAST Youtube: ZOEY FMUSER

Indirizzo in inglese: Room305, HuiLanGe, No.273 HuangPu Road West, TianHe District., GuangZhou, Cina, 510620 Indirizzo in cinese: 广州市天河区黄埔大道西273号惠兰阁305(3E)