Previous: Partial instances, Up: Background

### 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 effect1. 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

[1] HTML forms should use the ``GET`' method when the form has no side-effect as this makes the results cacheable.