6.1 Tipi di intestazioni

Le intestazioni della richiesta http sono in realtà informazioni di servizio per il client http e il server http. Ma è molto importante, e se non li capisci affatto, spesso ti andrà di traverso. Quindi almeno leggi di loro.

Tutte le intestazioni http possono essere suddivise in 4 gruppi principali:

# Tipo di intestazione Descrizione Nota
1 Intestazioni generali Intestazioni generali Utilizzato nelle richieste e nelle risposte
2 Richiedi intestazioni Richiedi intestazioni Utilizzato solo nelle richieste
3 intestazioni di risposta Intestazioni di risposta Utilizzato solo nelle risposte
4 Intestazioni di entità Intestazioni di entità Accompagna ogni entità messaggio

6.2 Agente utente

L'intestazione più importante e popolare è User-Agent . Questa è una stringa speciale che descrive quale client sta effettuando la richiesta al server. Questo è il nome del cliente.

Spesso il server adatterà leggermente la sua risposta al richiedente. Ad esempio, se dalla richiesta risulta chiaramente che la richiesta proviene dal browser di un telefono cellulare, è possibile assegnargli una versione mobile della pagina HTML.

Non è raro che spambot, download manager e alcuni browser inviino false stringhe User-Agent per fingere di essere clienti legittimi. Questa situazione è nota come spoofing dell'agente utente o spoofing dell'agente utente.

Ad esempio, il mio User-Agent ora ha questo aspetto:

Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:99.0) Gecko/20100101 Firefox/99.0

Contiene informazioni sul browser, sul sistema operativo e sul motore Web del browser.

6.3 Tipo di contenuto

La seconda intestazione più popolare è Content-Type . Viene utilizzato per determinare il tipo MIME della risorsa che il server sta servendo.

Anche agli albori di Internet, i tipi di contenuti multimediali trasmessi erano standardizzati per comodità. Sono chiamati Internet Media Types o MimeTypes in breve . Rientrano in 9 categorie:

  • applicazione
  • Audio
  • esempio
  • Immagine
  • Messaggio
  • modello
  • multiparte
  • testo
  • video

Esempi:

Categoria Tipo Descrizione
Audio audio/mp4 File audio in formato mp4
audio/ac File audio AAC
Immagine immagine/gif immagine gif
immagine/jpeg immagine jpeg
immagine/png immagine png
testo testo/css File CSS
testo/html File HTML
video video/mpg File video in formato mpeg
video/webm File video in formato webm
video/3gpp File video in formato 3gpp
applicazione application/x-www-form-urlencoded Dati codificati
applicazione/zip Archivio zip
applicazione/javascript javascript
applicazione/xml XML

Di solito il server sa quali dati fornisce. Ma se stai generando una risposta del server con il tuo codice, devi specificare il tipo di risposta (Content-Type) del tuo server.

6.4 Lunghezza del contenuto

Questa intestazione specifica la lunghezza della risposta del server . Se in modo semplice, la dimensione del file specificato. Non è necessario impostare manualmente questa opzione. Anche se può essere utile guardare cosa ha dato il server, se per qualche motivo la risposta non è arrivata a tutti.

6.5 Accetta la codifica

Con questa intestazione, il client può indicare al server che supporta vari algoritmi di compressione del contenuto . Pertanto, il server può prima archiviare il contenuto, ad esempio, con un archivio zip, quindi inviarlo al client e il client può ripristinare correttamente il contenuto originale.

Il vantaggio dell'archiviazione è che più piccolo è il file, più veloce è il trasferimento. Contro dell'archiviazione: carico aggiuntivo sul client e sul server. L'archiviazione ha senso quando si trasferiscono file di grandi dimensioni e spesso non ha senso quando si trasferiscono file di piccole dimensioni.

Un esempio di tale intestazione:

Accept-Encoding: deflate, gzip;q=1.0, *;q=0.5

Dove deflatee gzipsono gli algoritmi di compressione dei dati supportati e qindica il grado di compressione.