HTTP headerek
HTTP headerek érthetően: Content-Type, Accept, Authorization, Cache-Control, Vary, ETag és a request/response metaadat szerepe.
Röviden
A header mezők a HTTP üzenethez kapcsolódó metaadatot és vezérlési információt hordoznak. Egy részük a reprezentáció típusát írja le, más a cache-t, hitelesítést, tartalomegyeztetést vagy biztonsági viselkedést szabályozza.
Mit jelent a http headerek?
A header mezők a HTTP üzenethez kapcsolódó metaadatot és vezérlési információt hordoznak. Egy részük a reprezentáció típusát írja le, más a cache-t, hitelesítést, tartalomegyeztetést vagy biztonsági viselkedést szabályozza.
HTTP metadata
01
Content-Type
02
Accept
03
Authorization
04
Cache-Control
05
Vary
Hogyan működik a gyakorlatban?
A Content-Type azt mondja meg, milyen reprezentáció van a bodyban; az Accept azt, mit tud/fogadna a kliens; Authorization credentialt hordozhat; Cache-Control cache policyt definiál; Vary pedig jelzi, mely request header befolyásolja a cache-elt reprezentáció kiválasztását.
- Header neveket HTTP-ben case-insensitive módon kezelik, de konvenció szerint olvasható formában írjuk.
- Content-Type és Content-Encoding nem ugyanaz.
- Authorization header tartalma érzékeny lehet és nem való logba.
- Cache-Control direktívák köztes cache-ekre és böngészőre eltérően hathatnak.
Gyakorlati fejlesztői szemlélet
Debugnál ne csak a response bodyt nézd. Rengeteg CORS, cache, auth és content-negotiation hiba pontos oka a headerekben látható.
Gyakori hibák és félreértések
- `Content-Type: application/json` nélkül minden JSON automatikusan ugyanúgy kezelődik feltételezés.
- Érzékeny headert analytics/log rendszerbe küldeni.
- Vary figyelmen kívül hagyása CDN cache kulcs tervezésnél.
Források és szabványok
A technikai részletekhez elsődleges szabványokat és karbantartott hivatalos dokumentációt használok. Frameworkök, böngészők és webes API-k idővel változhatnak, ezért implementálás előtt mindig ellenőrizd az aktuális dokumentációt is.
Kapcsolódó ByBence Academy