The OpenStack Object Storage API is implemented as a set of ReSTful (Representational State Transfer) web services. All authentication and container/object operations can be performed with standard HTTP calls. See the Wikipedia article for more information about ReST.
The following constraints apply to the ReST API's HTTP requests:
Maximum number of HTTP headers per request: 90
Maximum length of all HTTP headers: 4096 bytes
Maximum length per HTTP request line: 8192 bytes
Maximum length of HTTP request: 5 gigabytes
Maximum length of container name: 256 bytes
Maximum length of object name: 1024 bytes
Container and object names should be properly URL-encoded prior to interacting with the ReST interface (the language APIs handle URL encoding/decoding) and the container and object names must be UTF-8 encoded. The length restrictions should be checked against the URL encoded string.
Each ReST request against the OpenStack Object Storage system requires the inclusion of a specific
authorization token HTTP header defined as X-Auth-Token.
Clients obtain this token, along with the OpenStack Object Storage URIs, by first using the Authentication
service and supplying a valid Username and API Access Key.
The
ReST service identified with X-Storage-Url is used for managing the data stored
in the system. Example operations are creating containers and uploading objects.
In the following sections, the purpose of each HTTP method depends upon which service the
call is made against. For example, a PUT request against X-Storage-Url can be
used to create a container or upload an
object.
The language-specific APIs mask this system separation from the programmer. They simply create a container and mark it public and it handles calling out to the appropriate back-end services using the appropriate ReST API.
![]() | Note |
|---|---|
All requests to authenticate and operate against OpenStack Object Storage are performed using SSL over HTTP (HTTPS) on TCP port 443. |
![[Note]](../common/images/admon/note.png)
