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 deflate
e gzip
sono gli algoritmi di compressione dei dati supportati e q
indica il grado di compressione.
GO TO FULL VERSION