HTTP-Snippets

Eine Sammlung wichtiger HTTP-Header.

CORS

Siehe:

Preflight-Anfrage per curl schicken:

curl -v -X OPTIONS 'https://myservice.example.org' -H 'Access-Control-Request-Method: GET' -H 'Access-Control-Request-Headers: origin, x-requested-with' -H 'Origin: https://myorigin.example.org'

Beispiel-Antwort:

HTTP/1.1 204 No Content
Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Max-Age: 86400

Access-Control-Max-Age ist optional. Default ist 5 Sekunden (zumindest bei Chromium). Viele Server verwenden 86400 (24 Stunden). Das ist auch das Maximum (zumindest bei Firefox).

Caching deaktivieren

response.setHeader("Pragma", "no-store, no-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);

Achtung:

Caching aktivieren

response.setDateHeader("Expires", System.currentTimeMillis() + timeToLive);
response.setDateHeader("Last-Modified", System.currentTimeMillis());

ETags

Siehe: http://en.wikipedia.org/wiki/HTTP_ETag

Hinweise: