Previous: Partial instances, Up: Background [Contents][Index]

### 1.6 Other requests

The previous sections pretend that there is only one kind of request in HTTP — the ‘`GET`’ request. In fact, there are some others.

The ‘`HEAD`’ request method retrieves data about an resource. Polipo does not normally use ‘`HEAD`’, but will fall back to using it for validation it if finds that a given server fails to cooperate with its standard validation methods (see Cache transparency). Polipo will correctly reply to a client’s ‘`HEAD`’ request.

The ‘`POST`’ method is used to request that the server should do something rather than merely sending an entity; it is usually used with HTML forms that have an effect3. The ‘`PUT`’ method is used to replace an resource with a different instance; it is typically used by web publishing applications.

‘`POST`’ and ‘`PUT`’ requests are handled by Polipo pretty much like ‘`GET`’ and ‘`HEAD`’; however, for various reasons, some precautions must be taken. In particular, any cached data for the resource they refer to must be discarded, and they can never be pipelined.

Finally, HTTP/1.1 includes a convenient backdoor with the ‘`CONNECT`’ method. For more information, please see Tunnelling connections.

Polipo does not currently handle the more exotic methods such as ‘`OPTIONS`’ and ‘`PROPFIND`’.

#### Footnotes

### (3)

HTML forms should use the ‘`GET`’ method when the form has no side-effect as this makes the results cacheable.