102 Processing
The HTTP 102 Processing informational response status code tells the client a significant delay will occur before the final HTTP response is sent. This prevents the client from timing out too early.
Usage
When a server sends the 102 Processing status code, the client maintains the HTTP connection and waits for the final response to arrive. The server must eventually return the final response, or a genuine timeout occurs.
The 102 Processing status code is no longer part of the HTTP specifications, though servers still use the code in practice. A well-implemented HTTP client ignores unrecognized informational status messages, so this response does not negatively affect clients without explicit support.
Note
Multiple 102 Processing status updates are sent in advance of the final HTTP response.
Example
The client requests a sample.pdf file, and the server returns a status code indicating processing takes longer than usual. After a short wait, the server sends another processing update. After another delay, the server sends the final response.
Request
GET /sample.pdf HTTP/1.1
Host: www.example.re
Response
HTTP/1.1 102 Processing
<there is a short pause in the transmission>
HTTP/1.1 102 Processing
<there is a short pause in the transmission>
HTTP/1.1 200 OK
Content-Type: application/pdf
Content-Length: 10000
<message body will follow>
Code references
.NET
HttpStatusCode.Processing
Rust
http::StatusCode::PROCESSING
Rails
:processing
Go
http.StatusProcessing
Symfony
Response::HTTP_PROCESSING
Python3.5+
http.HTTPStatus.PROCESSING
Apache HttpComponents Core
org.apache.hc.core5.http.HttpStatus.SC_PROCESSING
Angular
@angular/common/http/HttpStatusCode.Processing
Takeaway
The 102 Processing informational response was designed to prevent client timeouts during long-running requests, but it is no longer part of the HTTP specifications and is considered deprecated.
See also
- RFC 2518: HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV) (obsoleted by RFC 4918)
- 100
- 103
- HTTP status codes