HTTP

HTTP è l’acronimo di Hypertext Transfer Protocol . Si tratta essenzialmente di un protocollo di comunicazione utilizzato per condurre informazioni tra un client e un server web.

 HTTP (2)

L’HTTP è stato inventato insieme all’HTML per creare il primo browser web interattivo basato sul testo, conosciuto come il World Wide Web originale

Oggi, l’HTTP è ancora uno dei modi principali per utilizzare Internet, di cui gli utenti della rete non possono fare a meno.

Se è un utente di Internet, deve assolutamente prestare attenzione a questo articolo che le spiega tutto ciò che deve sapere sul protocollo HTTP

Capitolo 1: Che cos’è l’HTTP?

Poiché HTTP è uno degli elementi fondamentali di Internet, in questo capitolo parleremo insieme di tutto ciò che è necessario capire su questo protocollo

1.1. Definizione e storia di HTTP

HTTP o Hypertext Transfer Protocol è una tecnica per codificare e condurre le informazioni tra un browser web e un server web. HTTP è il protocollo principale per la trasmissione di informazioni su Internet.

Il protocollo HTTP 0.9 è stato sviluppato per la prima volta alla fine degli anni ’80, ma con una capacità ridotta

La combinazione di questa invenzione con l’HTML e gli URL è oggi considerata la base dell’iniziativa informativa globale del World Wide Web

Questa innovazione è stata introdotta nel mondo del web da Tim Berners-Lee al CERN di Ginevra, per la condivisione di informazioni tra la comunità dei fisici.

Date le carenze del protocollo HTTP 0.9, Berners-Lee pensò a dei miglioramenti inventando la prima vera versione HTTP/1.0 nel 1991

Questo nuovo lavoro dell’attore è stato proposto come RFC 1945 all’ente normativo Internet Engineering Task Force (IETF) nel 1996.

Con il rilascio di NCSA Mosaic, un browser grafico facile da usare, il WWW è diventato sempre più popolare e sono emerse in particolare alcune limitazioni della versione 1.0 del protocollo:

  • L’impossibilità di ospitare più siti www sullo stesso server (il cosiddetto host virtuale),
  • Mancato riutilizzo delle connessioni disponibili,
  • Il fallimento di meccanismi di sicurezza insufficienti,
  • Ecc.

A partire da ora, è stata rilasciata la nuova versione HTTP / 1.1. Viene presentato come RFC 2068 nel 1997 e aggiornato successivamente nel 1999 come descritto da RFC 2616.

1.2. Come funziona il protocollo HTTP

Ogni volta che un utente effettua una richiesta su Internet, utilizza senza dubbio il protocollo HTTP. Non solo per inviare la richiesta al server che ospita la pagina richiesta, ma anche per ricevere i dati in risposta dal server.

L hebergement est fourni par un hebergeur

Questo implica una presenza inevitabile di HTTP sia nel livello applicativo client che in quello server, altrimenti la comunicazione non può avvenire.

La richiesta del cliente viene effettuata tramite il browser, che gestisce l’intera comunicazione e restituisce sullo schermo le risorse richieste dall’utente. Il browser vede una pagina web come un insieme di oggetti collegati tra loro da collegamenti ipertestuali.

Quindi, una pagina web sarà sicuramente composta da un corpo HTML e da altre risorse che potrebbero essere script, immagini, applet Java, ecc.

HTTP si basa sul protocollo TCP a livello di trasporto per garantire il trasferimento dei dati dal server al client.

Groupe d annonces

Il motivo principale dell’utilizzo di TCP da parte di HTTP si spiega con il trasferimento di dati che garantisce, a differenza del protocollo di trasferimento UDP

Sebbene l’uso di TCP abbia il grande vantaggio di un trasferimento dati affidabile, implica anche un tempo di attesa più lungo per ricevere la risorsa richiesta

Questo può avvenire solo perché prima di trasmettere i dati, il TCP deve stabilire una connessione in un’operazione chiamata Handshake

Il trasferimento affidabile dei dati è essenziale per l’HTTP, perché se l’intero corpo HTML di una pagina web non venisse trasferito al browser, a causa di un errore di trasmissione, sarebbe impossibile visualizzare la pagina richiesta o il suo contenuto verrebbe alterato.

Come già detto, HTTP appartiene al livello applicativo, mentre TCP è un protocollo del livello di trasporto. Questo spiega un po’ come HTTP scambia i dati con TCP.

Questo è possibile grazie ai socket che rappresentano il punto di contatto tra il livello applicativo e il livello di trasporto. Ogni applicazione su un host specifico avrà un’interfaccia socket specifica per il livello di trasporto

Ad esempio, se un utente richiede una pagina web e invia un’e-mail allo stesso tempo, ci saranno due socket

  • Uno che gestisce lo scambio di dati tra HTTP e il livello di trasporto,
  • E l’altro tra i protocolli di posta elettronica e il livello di trasporto.

Ma quando l’utente cerca di aprire due pagine web contemporaneamente, in questo caso può essere creato un solo socket

Perché il socket in questo caso si riferisce a un singolo processo. Il socket permette di gestire, in modo indipendente, i pacchetti ricevuti per visualizzare separatamente le due pagine web richieste.

1.3. Lo scopo del protocollo HTTP

Quando parliamo di protocollo di trasferimento ipertestuale, ci riferiamo immediatamente al ruolo di HTTP nella trasmissione dei dati del sito web su Internet

Per quanto riguarda l’ipertesto, si riferisce alla forma standard dei siti web attraverso i quali una pagina può rimandare gli utenti ad un’altra pagina tramite collegamenti ipertestuali cliccabili, di solito chiamati semplicemente link

Lo scopo del protocollo HTTP è quello di fornire un modo standard per i browser e i server web di comunicare tra loro.

l echange de donnee

Le pagine web sono progettate utilizzando l’Hypertext Markup Language, o HTML, ma oggi l’HTTP viene utilizzato per trasferire molto di più del solo HTML e dei Fogli di stile a cascata, o CSS, utilizzati per indicare come le pagine devono essere visualizzate

L’HTTP viene utilizzato anche per trasferire altri contenuti sui siti web, tra cui immagini, video e file audio.

I computer possono connettersi ai server web utilizzando l’HTTP semplicemente per richiedere file da determinati indirizzi web

Quando un computer sta semplicemente recuperando dei dati, di solito invia un messaggio HTTP chiamato richiesta GET, mentre quando invia i dati di un modulo o scarica un file, utilizza altri formati di messaggio chiamati richieste PUT o POST

Può vedere i messaggi HTTP che il suo browser web invia in molti browser tramite gli strumenti di sviluppo integrati.

Oggi l’HTTP è utilizzato da molte applicazioni diverse dai browser web per inviare messaggi ai server

Le persone che creano applicazioni scelgono volontariamente HTTP perché è ben compreso da molti sviluppatori.

Un’altra ragione è che l’HTTP non viene generalmente filtrato dai firewall di rete progettati per consentire il traffico web, il che significa che i messaggi HTTP possono passare attraverso la maggior parte delle reti domestiche e degli uffici senza problemi.

1.4. I vantaggi di HTTP

La prima cosa da sapere è che HTTP utilizza uno schema di indirizzamento avanzato. Assegna un indirizzo IP con nomi riconoscibili, in modo da poterlo trovare facilmente sul World Wide Web

Rispetto alla procedura standard dell’indirizzo IP con una serie di numeri, utilizzando questa procedura, il pubblico può interagire facilmente con Internet.

Ogni volta che un’applicazione ha bisogno di capacità aggiuntive, l’HTTP può fornirle funzionalità extra scaricando estensioni o plugin e visualizzando i dati pertinenti

Con HTTP, ogni file viene scaricato da una connessione indipendente e poi chiuso. Per questo motivo, non viene trasferito più di un elemento di una pagina web. Pertanto, il rischio di intercettazione durante la trasmissione è basso.

Inoltre, quando la pagina viene caricata per la prima volta, tutte le pagine HTTP vengono memorizzate nelle cache di Internet, chiamate cache di pagina.

Cache http

Pertanto, quando la pagina viene visitata di nuovo, il contenuto verrà caricato più rapidamente.

1.5. Gli svantaggi di HTTP

Poiché l’HTTP non funziona sulla base della crittografia dei dati, è molto probabile che il suo contenuto possa essere modificato da qualcun altro.

Questo è il motivo per cui l’HTTP è considerato un metodo insicuro per trasferire i dati, e che mostra l’integrità dei dati. Questo rende i dati vulnerabili agli attacchi.

Couche IP

La riservatezza è un altro problema che si incontra in una connessione HTTP. Se un aggressore riesce a intercettare la richiesta, può visualizzare tutti i contenuti presenti nella pagina web

Inoltre, possono anche raccogliere informazioni riservate come nome utente e password con estrema facilità

Inoltre, anche se HTTP riceve tutti i dati di cui ha bisogno, i clienti non compiono alcuna azione per chiudere la connessione. Pertanto, durante questo periodo, il server non sarà presente

Inoltre, quando HTTP deve creare più connessioni per trasmettere una pagina web, causa un sovraccarico amministrativo nella connessione.

1.6) In che modo HTTP e HTTPS sono diversi?

Mentre HTTP sta per Hypertext Transfer Protocol, HTTPS sta semplicemente per Hypertext Transfer Protocol Secure

Noterà che alcuni URL iniziano con HTTP e altri con HTTPS; la “S” sta per crittografia sicura, garantita da un certificato

HTTPS significa semplicemente una chiave pubblica decifrata dal lato del destinatario. E questa chiave pubblica si ottiene in un certificato SSL.

HTTPS

Il certificato SSL rappresenta un documento di identità online, che indica che il sito web è protetto e libero da minacce esterne

I siti web che raccolgono informazioni sensibili delle persone, tra cui indirizzi personali e numeri di carta di credito, devono acquistare una licenza SSL

La crittografia SSL ha molti vantaggi sia per i clienti che per i siti web. I principali vantaggi includono:

  • Protezione dagli hacker: Poiché il certificato protegge le informazioni sensibili, gli hacker e i ladri di identità dovranno affrontare un’elevata sicurezza dei dati.
  • Autenticità e affidabilità: le persone vogliono fare affari con un sito web sicuro e affidabile. Non effettuano acquisti da siti web che non sono verificati e criptati
  • Aumento del tasso di conversione: secondo le analisi, i siti web di e-commerce sicuri vedranno rapidamente un aumento di 18 à 87% nei tassi di conversione.

Il protocollo HTTP è limitato alla trasmissione di messaggi senza crittografia di sicurezza. Questo rende i dati molto vulnerabili agli attacchi.

Capitolo 2: Che cos’è un codice di stato HTTP?

Può accadere che il client faccia delle richieste al server e che in cambio il server risponda con codici di stato e payload di messaggi. Il codice di stato è importante e indica al cliente come interpretare la risposta del server

La specifica HTTP definisce alcuni intervalli di numeri per determinati tipi di risposte:

2.1. 1xx: messaggi informativi

Tutti i client HTTP/1.1 devono accettare l’intestazione Transfer-Encoding. Questa classe di codici è stata introdotta in HTTP / 1.1 ed è puramente provvisoria

Il server può inviare un messaggio Expect: 100-continue, indicando al client di continuare a inviare il resto della richiesta, oppure di ignorarla se l’ha già inviata. I clienti HTTP/1.0 devono ignorare questa intestazione.

2.2. 2xx: successo

Questo indica che la richiesta del cliente è stata elaborata con successo. Molto spesso ne vedrà visualizzati 200. Per una richiesta GET, il server invia i dati nel messaggio. Ci sono altri codici utilizzati meno frequentemente:

  • 202 Accettato: la richiesta è stata accettata, ma potrebbe non includere la risorsa nella risposta. Questo è utile per l’elaborazione asincrona sul lato server. Il server può scegliere di inviare informazioni per il monitoraggio.
  • 205 Reimposta contenuto: indica al cliente di reimpostare la sua visualizzazione del documento.
  • 206 Contenuto parziale: indica che la risposta contiene solo un contenuto parziale. Le intestazioni aggiuntive indicano l’intervallo esatto e le informazioni sulla scadenza del contenuto.

2.3. 3xx: Reindirizzamento

  • 303 Vedi Altro : La risorsa si trova temporaneamente in un nuovo URL.
  • 304 Invariato: Il server ha stabilito che la risorsa non è cambiata e il cliente deve utilizzare la sua copia in cache. Questo si basa sull’invio da parte del cliente dell’informazione ETag (Entity Tag), che è un hash del contenuto. Il server confronta questo dato con il proprio calcolo ETag per verificare le modifiche.
guide-des-codes-d'etat-HTTP-pour-les-SEO

2.4. 4xx: Errore del cliente

Questi codici vengono utilizzati quando il server ritiene che il cliente sia in difetto, sia per aver richiesto una risorsa non valida, sia per aver fatto una richiesta sbagliata

Il codice più popolare di questa classe è 404 Not Found, con il quale credo che tutti si identifichino. 404 indica che la risorsa non è valida e non esiste sul server. Altri codici di questa classe includono:

  • 400 Bad Request: la richiesta è stata formata male.
  • 403 Vietato: il server ha negato l’accesso alla risorsa.
  • 404 indica che la risorsa non è valida e non esiste sul server. Questo costringe il cliente a intraprendere ulteriori azioni. Spesso, il cliente è costretto ad accedere a un URL diverso per recuperare la risorsa.
  • 405 Metodo non valido: verbo HTTP non valido utilizzato nella riga della richiesta, oppure il server non supporta questo verbo.
  • 409 Conflitto: il server non ha potuto completare la richiesta perché il cliente sta tentando di modificare una risorsa più recente del timestamp del cliente. I conflitti si verificano soprattutto per le richieste PUT, quando si apportano modifiche collaborative a una risorsa.

2.5. 5xx: Errore del server

Questa classe di codici viene utilizzata per indicare un errore del server nell’elaborazione della richiesta. Il codice di errore più comunemente utilizzato è 500 Internal Server Error. Gli altri in questa classe sono :

  • 501 Non implementato: il server non supporta ancora la funzionalità richiesta.
  • 503 Servizio non disponibile: questo può verificarsi se un sistema interno del server è inattivo o se il server è sovraccarico. Di solito il server non risponde nemmeno e la richiesta scade.

Conclusione

HTTP è stato il principale protocollo di trasmissione dati su Internet dalla sua prima versione fino a poco tempo fa. È un modo inevitabile per qualsiasi utente di Internet di ottenere una risposta alla propria richiesta.

È quindi necessario che chiunque utilizzi la Rete conosca le basi dell’HTTP. A tal fine, abbiamo trattato i punti che possono sembrarle complessi sul concetto di HTTP.

Spero che questo articolo le sia stato utile, si senta libero di lasciare commenti se ha delle domande.

Categorie H

Lascia un commento