3 Headers


3 Headers

Known headers

These headers are defined in RFC 2616, and, for their official definitions, refer to that document. This document descibes how they appear after being parsed by web2.

Entity headers:

  • Allow: list of case-sensitive method strings

    e.g. ['GET', 'HEAD', 'POST']

  • Content-Encoding: list of string content-encodings

    e.g. ['gzip']

  • Content-Language: list of string content languages

    e.g. ['en', 'mi']

  • Content-Location: url string

    e.g. "http://foo.bar.com/"

  • Content-MD5: (decoded base64) string, should be 16 bytes

    e.g. '8Al:\x1d\x9aO\xf2m\x91\xa0X\xbe\xe3{\xc8'

  • Content-Range: tuple of (rangetype, start, end, realLength)

    e.g. ('bytes', 0, 499, 1234)

  • Content-Type: MimeType

    e.g. MimeType('text', 'html', [('charset','iso-8859-4')])

  • Expires: seconds since Epoch

    e.g. 1000000000

  • Last-Modified: seconds since Epoch

    e.g. 1000000000

Request headers (client to server):

  • Accept: dictionary of MimeType -> float 0.0 to 1.0

    e.g. {MimeType('text', 'html'): 1.0, MimeType('image', 'jpg'): 0.4}

  • Accept-Charset: dict of string charset -> float 0.0 to 1.0

    e.g. {'utf-8': 1.0, 'iso-8859-1': 0.9, '*': 0.7}

  • Accept-Encoding: dict of string encoding -> float 0.0 to 1.0

    e.g. {'deflate': 1.0, 'gzip': 1.0, identity: 0.0001}

  • Accept-Language: dict of string language -> float 0.0 to 1.0

    e.g. {'en-us': 1.0, 'en': 0.5}

  • Authorization: TODO

  • From: string. Useless, and unused, header.

    e.g. "email@a.b.c".

  • Host: string. Use request.host instead of accessing this header directly.

    e.g. "twistedmatrix.com".

  • If-Match: list of ('*' or ETag instance)

    e.g. ['*'] or [ETag("foo", weak=True), ETag("bar")]

  • If-Modified-Since: seconds since Epoch.

  • If-None-Match: list of ('*' or ETag instance)

  • If-Range: Etag instance or seconds since Epoch

    e.g. 1000000000 or ETag("foo")

  • If-Unmodified-Since: seconds since Epoch

    e.g. 1000000000

  • Max-Forwards: integer

  • Proxy-Authorization: TODO

  • Range: tuple (rangetype, [(int start or None, int end or None)*])

    e.g. ('bytes', [(0, 1), (5, None)])

  • Referer: string

    e.g. "http://twistedmatrix.com/bugs/"

  • User-Agent: string

    e.g. "MyBrowser/5500.2 (Amiga; U; PPC) Awesomeness/2300.1"

Response headers:

  • Accept-Ranges: list of range type strings

    e.g. ['bytes']

  • Age: seconds

    e.g. 500

  • ETag: ETag instance

    e.g. ETag("asdf")

  • Location: url string

    e.g.

  • Proxy-Authenticate: TODO

  • Retry-After: integer seconds since Epoch

  • Server: string

  • Set-Cookie: list of Cookie instances

  • Set-Cookie2: list of Cookie instances

  • Vary: list of string header names

  • WWW-Authenticate: TODO

General headers:

  • Cache-Control: TODO

  • Date: seconds since Epoch

    e.g. 1112321588, from time.time()

  • Pragma: TODO

  • Via: TODO

  • Warning: TODO

Lower level HTTP headers, used only by framework:

  • Connection: TODO

  • Content-Length: integer length

  • Expect: dictionary of expect feature->tuple (value, (param, paramvalue)*).

    e.g. {'100-continue': (None)}

  • Transfer-Encoding: list of string transfer-encodings

  • TE: dictionary of string TE->int qvalue

  • Trailer: TODO

  • Upgrade: TODO

Classes

blahblah


[Return to Top]Last updated on Thu, 16 Jun 2005