6.1 Soorten koppen
De http-verzoekheaders zijn eigenlijk service-informatie voor de http-client en http-server. Maar het is heel belangrijk, en als je ze helemaal niet begrijpt, gaat het vaak zijwaarts naar je toe. Dus lees er in ieder geval over.
Alle http-headers kunnen worden onderverdeeld in 4 hoofdgroepen:
# | Type koptekst | Beschrijving | Opmerking |
---|---|---|---|
1 | Algemene kopteksten | Algemene rubrieken | Gebruikt in verzoeken en antwoorden |
2 | Kopteksten aanvragen | Kopteksten aanvragen | Alleen gebruikt in verzoeken |
3 | kopteksten van antwoorden | Kopteksten van reacties | Alleen gebruikt in reacties |
4 | Entiteitskoppen | Entiteitskoppen | Begeleid elke berichtentiteit |
6.2 Gebruikersagent
De belangrijkste en meest populaire header is User-Agent . Dit is een speciale string die beschrijft welke client het verzoek doet aan de server. Dit is de naam van de klant.
Vaak zal de server zijn antwoord enigszins afstemmen op de aanvrager. Als uit het verzoek bijvoorbeeld duidelijk blijkt dat het verzoek afkomstig is van een browser van een mobiele telefoon, dan kan deze een mobiele versie van de HTML-pagina krijgen.
Het is niet ongebruikelijk dat spambots, downloadmanagers en sommige browsers valse User-Agent-strings verzenden om zich voor te doen als legitieme klanten. Deze situatie staat bekend als user-agent-spoofing of user-agent-spoofing.
Mijn User-Agent ziet er nu bijvoorbeeld zo uit:
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:99.0) Gecko/20100101 Firefox/99.0
Het bevat informatie over de browser, het besturingssysteem en de webengine van de browser.
6.3 Inhoudstype
De tweede meest populaire header is Content-Type . Het wordt gebruikt om het MIME-type te bepalen van de bron die de server bedient.
Zelfs aan het begin van het internet waren de soorten verzonden media-inhoud voor het gemak gestandaardiseerd. Ze worden kortweg Internet Media Types of MimeTypes genoemd . Ze vallen in 9 categorieën:
- sollicitatie
- geluid
- voorbeeld
- afbeelding
- bericht
- model
- meerdelig
- tekst
- video
Voorbeelden:
Categorie | Type | Beschrijving |
---|---|---|
geluid | audio/mp4 | Audiobestand in mp4-formaat |
audio/aac | AAC-audiobestand | |
afbeelding | afbeelding/gif | gif-afbeelding |
afbeelding/jpeg | jpeg-afbeelding | |
afbeelding/png | afbeelding png | |
tekst | tekst/css | CSS-bestand |
tekst/html | HTML-bestand | |
video | video/mpeg | Videobestand in mpeg-formaat |
video/webm | Videobestand in webm-formaat | |
video/3gpp | Videobestand in 3gpp-formaat | |
sollicitatie | application/x-www-form-urlencoded | Gecodeerde gegevens |
applicatie/zip | Zip-archief | |
toepassing/javascript | javascript | |
toepassing/xml | xml |
Meestal weet de server welke gegevens hij geeft. Maar als u een serverrespons genereert met uw eigen code, moet u het responstype (Content-Type) van uw server specificeren.
6.4 Lengte van de inhoud
Deze header specificeert de lengte van het antwoord van de server . Als het op een eenvoudige manier is, dan is de grootte van het gegeven bestand. U hoeft deze optie niet handmatig in te stellen. Hoewel het nuttig kan zijn om te kijken naar wat de server heeft gegeven, als om de een of andere reden het antwoord niet allemaal is gekomen.
6.5 Accepteer codering
Met deze header kan de client aan de server aangeven dat hij verschillende algoritmen voor inhoudscompressie ondersteunt . Zo kan de server de inhoud eerst archiveren, bijvoorbeeld met een zip-archief, vervolgens naar de client sturen en kan de client de originele inhoud correct herstellen.
Het voordeel van archiveren is dat hoe kleiner het bestand, hoe sneller de overdracht. Nadelen van archiveren - extra belasting van de client en de server. Archiveren is zinvol bij het overzetten van grote bestanden en heeft vaak geen zin bij het overzetten van kleine bestanden.
Een voorbeeld van zo'n header:
Accept-Encoding: deflate, gzip;q=1.0, *;q=0.5
Waar deflate
en gzip
zijn de ondersteunde algoritmen voor gegevenscompressie, en q
geeft de mate van compressie aan.
GO TO FULL VERSION