Introducing G2.ai, the future of software buying.Try now

HTTP

da Sagar Joshi
Il protocollo di trasferimento ipertestuale (HTTP) è un insieme di regole per il trasferimento di file multimediali sul web. Scopri di più sui suoi componenti e su come funziona.

Che cos'è HTTP?

Il protocollo di trasferimento ipertestuale (HTTP) è un insieme di regole per il trasferimento di file multimediali sul web. HTTP è un protocollo di livello applicativo che specifica procedure di comunicazione condivise e metodi di interfaccia utilizzati da client o server in una rete di comunicazione.

HTTP è un protocollo senza stato che svolge un ruolo essenziale nell'introduzione dei cookie. Comunica tra client e server ed esegue una serie di richieste e risposte.

Un client o un browser invia una richiesta HTTP al web. Il server web riceve la richiesta, esegue un'applicazione per elaborarla e restituisce una risposta HTTP al browser. Questa interazione tra client e server aiuta le persone a visualizzare e trasferire file sul web. Alcune aziende possono utilizzare software di protocollo di trasferimento file per assistere nel processo.

Come funziona HTTP

HTTP è un protocollo utilizzato per comunicare tra server e dispositivi client durante l'interazione con siti web o applicazioni web. Come funziona è descritto di seguito.

  • Scambio di risorse su Internet tra dispositivi client e server. Il dispositivo client condivide una richiesta con il server per inviare risorse per il caricamento dei file della pagina web. Il server risponde condividendo risorse. Tutte le richieste/risposte condividono sotto-documenti che contengono dati memorizzati nel browser web del client per visualizzare la pagina web.
  • Un browser web è un client che invia la richiesta a un server. Un server web contiene anche un demone HTTP, un programma che viene eseguito come processo in background. Questo programma attende le richieste HTTP e le gestisce quando arrivano.
  • I tre principali tipi di messaggi HTTP sono GET, POST e HEAD. Nel primo tipo, i messaggi inviati al server contengono solo un URL. Il server elabora la parte opzionale dei dati dell'URL e invia il risultato al browser. Nel secondo tipo, i messaggi posizionano i parametri dei dati opzionali nel corpo del messaggio di richiesta invece di aggiungerli alla fine dell'URL. Il terzo tipo è simile alle richieste GET; il server invia solo le informazioni dell'intestazione anziché l'intero URL.
  • Il browser avvia una connessione del protocollo di controllo della trasmissione (TCP) al server per avviare la comunicazione con un server HTTP. Per impostazione predefinita, la porta del server 80 è utilizzata per le sessioni di navigazione web.
  • Una volta stabilita una sessione e l'utente visita la pagina web, si attiva l'invio e la ricezione di messaggi HTTP.
  • Poiché HTTP è un sistema senza stato, la connessione HTTP viene interrotta una volta completata la richiesta, a differenza dei protocolli di trasferimento file come FTP. Ciò significa che la connessione si chiude una volta che il browser web invia una richiesta e il server risponde ad essa.

Tipi di metodi di richiesta HTTP

I metodi di richiesta più comunemente usati sono menzionati di seguito.

  • GET legge e recupera dati da un server. Il codice di stato HTTP diventa 200 OK quando i dati raccolti dal server sono accurati.
  • POST trasmette dati al server. Alla creazione riuscita, produce un codice di stato di 201.
  • PUT modifica i dati del server. Sostituisce tutto il contenuto da una posizione specifica con i dati del payload del corpo. Ne genera uno se nessuna risorsa corrisponde alla richiesta.
  • PATCH funziona in modo simile a una richiesta PUT, ma modifica solo una parte dei dati.
  • DELETE rimuove dati da una posizione particolare sul server.

Componenti di una richiesta HTTP

Una richiesta HTTP comprende cinque componenti chiave.

  1. Metodi HTTP contengono un insieme di metodi di richiesta che eseguono azioni dedicate, tra cui GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS e TRACE. Le azioni possono essere ampliate se necessario.
  2. Identificatore di Risorsa Uniforme (URI) è una sequenza di caratteri unica che identifica la risorsa logica o fisica utilizzata da una tecnologia web.
  3. HTTP ha quattro versioni: HTTP v0.9, HTTP v1.0, HTTP v1.1 e HTTP v2.0. Mentre HTTP v1.1 è comunemente usato, HTTP v2.0 è considerato il futuro delle versioni HTTP.
  4. Intestazione della richiesta contiene più informazioni sul contesto della richiesta o sul client che richiede la risorsa. Ad esempio: Accept-*, Accept-Encoding.
  5. Il payload comando aiuta gli utenti a recuperare contenuti, interrogare la dimensione del contenuto o sostituire qualsiasi contenuto. Ad esempio: HTTP_REQUEST_DATA e HTTP_RESPONSE_DATA.

Codici di stato della risposta HTTP

I codici di stato della risposta HTTP indicano se una particolare richiesta è stata completata. Le risposte sono generalmente categorizzate in classi; esistono diversi codici di stato in ciascuna categoria. Ogni codice rappresenta una particolare azione.

  • Risposte informative includono 100 Continue, 101 Switching Protocols, 102 Processing e 103 Early Hints.
  • Codici di risposta di successo sono 200 OK, 201 Created, 202 Accepted, 203 Non-Authoritative Information, 204 No Content, 205 Reset Content, 206 Partial Content, 207 Multi-Status, 208 Already Reported, 226 IM e Used.
  • Messaggi di reindirizzamento codici sono 300 Multiple Choices, 301 Moved Permanently, 302 Found, 303 See Other, 304 Not Modified, 305 Use Proxy, 306 Unused, 307 Temporary Redirect e 308 Permanent Direct.
  • Risposte di errore del client includono 400 Bad Request, 401 Unauthorized, 402 Payment Required, 403 Forbidden, 404 Not Found, 405 Method Not Allowed, 406 Not Acceptable, 407 Proxy Authentication Required, 408 Request Timeout, 409 Conflict, 410 Gone e molti altri.
  • Risposte di errore del server includono 500 Internal Server Error, 501 Not Implemented, 502 Bad Gateway, 503 Service Unavailable, 504 Gateway Timeout, 505 HTTP Version Not Supported, ecc.

Proxy HTTP

Di seguito sono riportati alcuni dettagli notevoli sui proxy HTTP.

  • I proxy HTTP o server proxy sono server di livello applicativo, computer e altre macchine che agiscono come intermediari tra client e server.
  • Quando una richiesta web viene inviata a un sito web utilizzando un proxy, va al server proxy come testo in chiaro. Il server proxy analizza e invia una nuova proposta al sito web, cambiando l'indirizzo IP dell'utente. Una volta che il sito web riceve la richiesta, risponde al server proxy.
  • Tre tipi di proxy sono basati sull'anonimato. Sono Proxy Trasparente, Proxy Anonimo e Proxy Elite/Alta Anonimato.

HTTP vs. HTTPS

HTTP e HTTPS differiscono per quanto riguarda la sicurezza, le prestazioni e i benefici per l'ottimizzazione dei motori di ricerca.

HTTP consente la comunicazione tra sistemi trasferendo informazioni e dati su una rete. Mentre Hypertext Transfer Protocol Secure (HTTPS) è simile a HTTP, questo protocollo garantisce una comunicazione sicura tra server web e browser durante l'invio di dati. HTTPS utilizza un protocollo di sicurezza digitale con chiavi crittografiche per la crittografia e la validazione.

HTTP non ha crittografia. Ciò significa che la falsificazione dei messaggi, il furto di dati e l'intercettazione sono più probabili rispetto a HTTPS, che è protetto da un livello di socket sicuro (SSL). Dati come ID utente e password sono crittografati. Mentre il protocollo HTTP funziona nel livello applicativo, il protocollo HTTPS funziona nel livello di trasporto.

L'uso di HTTP e HTTPS varia a seconda del tipo di sito o dei dati che gli utenti possono gestire. Tuttavia, è anche vero che HTTPS è il protocollo standard per la maggior parte dei siti web al giorno d'oggi. Passare da HTTP a HTTPS comporta ottenere e installare un certificato SSL per il sito web.

Scopri di più su multiprotocol label switching (MPLS) per comprendere il meccanismo di instradamento del traffico utilizzato nelle reti di telecomunicazioni.

Sagar Joshi
SJ

Sagar Joshi

Sagar Joshi is a former content marketing specialist at G2 in India. He is an engineer with a keen interest in data analytics and cybersecurity. He writes about topics related to them. You can find him reading books, learning a new language, or playing pool in his free time.

Software HTTP

Questo elenco mostra i principali software che menzionano http di più su G2.

Postman consente ai team di collaborare in modo efficiente in ogni fase del ciclo di vita delle API, dando priorità alla qualità, alle prestazioni e alla sicurezza.

Progress Telerik Fiddler è un proxy di debug web gratuito per qualsiasi browser, sistema o piattaforma.

Martini™ è una piattaforma moderna incentrata sulle API per la trasformazione digitale.

Framework web veloce, non opinabile e minimalista per Node.js

Freshping è uno strumento semplice per il monitoraggio del tempo di attività e delle prestazioni che aiuta a monitorare il tempo di attività/inattività, le interruzioni e le prestazioni di siti web, API, servizi web, applicazioni web con avvisi istantanei di interruzione/tempo di inattività.

L'applicazione desktop Apache JMeter è un software open source, un'applicazione Java al 100% pura progettata per testare il comportamento funzionale e misurare le prestazioni.

server HTTP e proxy inverso gratuito, open-source e ad alte prestazioni

L'unica piattaforma di automazione intelligente che consente sia agli utenti aziendali che all'IT di creare, gestire e distribuire l'integrazione di app e dati, l'automazione dei processi e dei flussi di lavoro, in un'unica piattaforma - senza compromettere la sicurezza e la governance.

Apache httpd è stato il server web più popolare su Internet da aprile 1996,

Azure Application Gateway ti offre servizi di routing a livello di applicazione e bilanciamento del carico che ti permettono di costruire un front end web scalabile e altamente disponibile in Azure.

CouchDB è un database che abbraccia completamente il web. Memorizza i tuoi dati con documenti JSON.

Le Azure Functions sono un'esperienza di calcolo su richiesta, guidata da eventi, che estende la piattaforma applicativa Azure esistente con capacità per implementare codice attivato da eventi che si verificano in Azure o in servizi di terze parti, così come in sistemi locali.

Varnish Software è l'azienda dietro Varnish Cache, l'acceleratore HTTP open source.

Tines è una piattaforma di workflow intelligente che alimenta i workflow più importanti del mondo. I team IT e di sicurezza di tutte le dimensioni, dalle aziende Fortune 50 alle startup, si affidano a Tines per tutto, dalla risposta al phishing, alla gestione delle vulnerabilità e delle patch, alla gestione del ciclo di vita del software, alla gestione del ciclo di vita dei dipendenti e tutto il resto. Leader in una vasta gamma di settori, tra cui Canva, Databricks, Elastic, Kayak, Intercom e McKesson, utilizzano i workflow potenziati dall'IA di Tines per operare in modo più efficace, mitigare i rischi, ridurre il debito tecnologico e svolgere il lavoro che conta di più. La nostra piattaforma di workflow offre ai team di qualsiasi livello di competenza (dal più tecnico al meno tecnico) gli strumenti per orchestrare, automatizzare e integrare le persone, i processi e la tecnologia.

Azure Logic Apps offre un modo per semplificare e implementare integrazioni e flussi di lavoro scalabili nel cloud. Fornisce un designer visivo per modellare e automatizzare il tuo processo come una serie di passaggi noti come flusso di lavoro.

Amazon Simple Storage Service (S3) è uno storage per Internet. Un'interfaccia di servizi web semplice utilizzata per memorizzare e recuperare qualsiasi quantità di dati, in qualsiasi momento, da qualsiasi luogo sul web.

HttpWatch è un software di sniffing HTTP.

GRPC è un framework RPC generale ad alte prestazioni, open source, basato su HTTP/2.

Cloud Run è il modo più semplice per distribuire e scalare applicazioni serverless e basate su container su Google Cloud. Inizia con il codice sorgente e fai funzionare la tua applicazione ovunque nel mondo in pochi secondi.

Instana scopre, mappa e monitora automaticamente tutti i servizi e i componenti dell'infrastruttura sia on-premise che nel cloud, fornendo un contesto applicativo guidato dall'IA e la risoluzione dei problemi per migliorare le operazioni IT. I dashboard a configurazione zero di Instana aiutano a ridurre il lavoro ripetitivo per i team SRE e DevOps, permettendo loro di dedicare più tempo all'innovazione piuttosto che alla risoluzione dei problemi. I suoi playbook automatizzati affrontano senza soluzione di continuità i problemi comuni e gli avvisi precisi guidati dall'apprendimento automatico aiutano a gestire i cambiamenti rapidi, migliorando così la disponibilità dell'infrastruttura. Queste capacità aiutano a prevedere e gestire i budget IT per supportare l'aumento della domanda durante i cicli di picco.