What is Status Code: 102 Processing? The Server's "Hold On, I'm Still Working!" Signal

Learn what HTTP status code 102 Processing means, why it exists, and how it’s used in APIs and WebDAV. This guide explains this rare status code.

INEZA Felin-Michel

INEZA Felin-Michel

10 September 2025

What is Status Code: 102 Processing? The Server's "Hold On, I'm Still Working!" Signal

You're uploading a massive, multi-gigabyte video file to the cloud. The progress bar is creeping along slowly. Suddenly, your browser freezes. The page seems unresponsive. After a few anxious minutes, you get a dreaded error: 504 Gateway Timeout. The server gave up on you.

Now, imagine a different scenario. The upload is just as slow, but a little spinning indicator on the page is active. You get a notification: "Processing your video... this may take a few minutes." You wait patiently, and eventually, you get a success message.

What was the difference? In the second scenario, the server might have been using a clever, albeit rare, HTTP status code to manage your expectations: 102 Processing.

This status code is the server's way of politely saying, "Hey, I got your request. It's a big one, and it's going to take me a while to finish. But I'm still alive and working on it, so please don't hang up on me!"

It's the digital equivalent of a waiter checking in on your table while the kitchen is busy preparing a complex dish. They're not bringing your food yet, but they're assuring you that your order hasn't been forgotten.

If you have been involved in web development or API integrations, you might have glanced through HTTP status codes, certainly the popular ones like 200 OK or 404 Not Found. Yet, some lesser-known but equally important codes exist, such as 102 Processing. Though not widely understood, this HTTP status helps improve communication efficiency between clients and servers, especially when handling complex or long-running requests.

At first glance, it might sound confusing. What exactly is "processing"? Why does the server need to send this message at all? And most importantly, how should developers handle it in real-world applications?

That's exactly what we'll explore in this guide.

In this thorough blog post, you'll discover what the 102 Processing status code means, why it was introduced, how it works, and the scenarios where it's used. If you want to test HTTP status codes, including rare ones like 102 Processing, you need a reliable API testing platform. That's where Apidog comes in. With Apidog, you can design, mock, test, debug and document APIs seamlessly while inspecting responses in real time. And the best part? You can download Apidog for free today and start exploring codes like 102 Processing hands-on.

button

Now, let's explore the purpose, history, and practical application of the HTTP 102 Processing status code.

The Problem: The Impatient Internet

The internet is built on a foundation of impatience. HTTP connections are not meant to stay open forever. Every component in the chain from the client (your browser) to potential proxies and load balancers has built-in timeouts.

If a server takes too long to send a response, these components will assume the connection is dead and terminate it, often resulting in errors like:

This is a sensible failsafe. It prevents hung connections from consuming precious resources. However, it creates a problem for legitimate operations that simply take a long time to complete, like processing a large video, generating a complex report, or performing a bulk data operation.

The question is: How does a server tell the client, "I'm still working," without actually sending the final response?

The answer, defined in RFC 2518 (for WebDAV), is the 102 Processing status code.

What is Status Code 102 Processing?

The HTTP status code 102 Processing belongs to the 1xx Informational response class. These status codes don't represent final answers; instead, they provide additional information during the request-response lifecycle.

Specifically, 102 Processing means:

"The server has received your request and is actively working on it, but no final response is available yet."

This status code was defined in RFC 2518 (WebDAV extension to HTTP). It's primarily designed to let the client know:

Unlike typical response codes that signal success or failure, 102 is a way to keep the client informed and prevent premature timeouts on long-running requests.

The WebDAV Connection

To understand 102 Processing, you have to talk about WebDAV (Web Distributed Authoring and Versioning). WebDAV is an extension of HTTP that allows clients to collaboratively edit and manage files on a remote web server. It's the technology behind "network drives" you can map in Windows or macOS.

WebDAV operations like copying or moving a folder containing thousands of files can take a very long time. The 102 status code was invented specifically for this context to keep the connection alive during these lengthy operations.

Why Does 102 Processing Exist?

Modern web requests can often be complex and time-consuming, especially when processing involves:

Imagine uploading a large file or running a complex database operation through an API. If the server takes too long to respond, the client might think something went wrong and disconnect.

That's where 102 Processing comes in.

It tells the client: "Relax, I got your request. It's taking time, but I'm on it."

This is particularly helpful in:

Before 102 was introduced, clients didn’t know whether a request was just slow or lost, often leading to unnecessary retries or connection timeouts. The 102 code acts as a heartbeat, telling clients: "Hang tight, I’m working on it!"

The Role of 102 in WebDAV

102 Processing was originally introduced in WebDAV (Web Distributed Authoring and Versioning), which extends HTTP for collaborative file management.

For example, if a user uploads a 500 MB file:

While WebDAV was the main driver, 102 can also be useful in modern REST APIs and cloud services dealing with heavy workloads.

Differences Between 100 Continue and 102 Processing

You might be wondering how 102 differs from the similar 100 Continue:

Together, these status codes improve communication efficiency during complex request cycles.

How It Works: The Communication Flow

Let's walk through a hypothetical example of a 102 Processing response in action.

Scenario: A client tells the server to "process all uploaded images to create a panoramic photo." This is a CPU-intensive task that will take 90 seconds.

The Request:

The client sends a POST request to /api/generate-panorama.

The Immediate (102) Response:

The server's API receives the request and validates it. It knows the job will take a while. Instead of staying silent, it immediately sends back:

HTTP/1.1 102 Processing

This response has no body. It's just a status line and headers. Its only job is to say, "I'm on it."

The Waiting Period:

The client receives the 102 code. A well-behaved client understands this means it should keep the connection open and continue waiting. The client's timeout timer is effectively reset.

The Final Response:

Ninety seconds later, the server finishes creating the panorama. It now sends the real response over the same connection:

HTTP/1.1 200 OKContent-Type: application/json
{"status": "success", "url": "/images/panorama-123.jpg"}

The request-response cycle is now complete.

This simple "keepalive" signal prevents network equipment and clients from mistakenly thinking the server has died.

Why Isn't 102 Processing More Common?

If this is so useful, why have most developers never seen or used it? There are a few key reasons:

The Rise of Asynchronous Patterns: The modern solution to long-running requests is often better than 102 Processing. Instead of holding a connection open for minutes, the best practice is now:

This pattern is more scalable. It doesn't tie up valuable server processes or connections waiting on long tasks.

Limited Client Support: For 102 Processing to work, the client must know how to handle it. Not all HTTP clients and libraries are built to expect or correctly interpret multiple responses on a single connection. The asynchronous pattern with polling is universally understood.

It Doesn't Solve All Problems: A 102 response resets the timeout for the connection, but it doesn't provide any progress updates. The client is still left in the dark about whether the job is 1% done or 99% done. The polling pattern allows for a progress field in the status response.

Example of 102 Processing in Action

Let's see how this might look in practice.

Client Request:

PUT /files/large-video.mp4 HTTP/1.1
Host: example.com
Content-Length: 600000000

Server Response (while still working):

HTTP/1.1 102 Processing

Final Server Response (once done):

HTTP/1.1 201 Created
Location: /files/large-video.mp4

Here, the 102 response reassures the client that progress is happening before the final 201 Created.

Modern Uses and Alternatives

While pure 102 Processing is rare, the problem it solves is not. The modern web has adopted other strategies that are more robust and scalable:

  1. 202 Accepted + Polling: As described above, this is the most common and scalable pattern today.
  2. Server-Sent Events (SSE): For long-running operations where the server wants to push progress updates, SSE provides a one-way channel for the server to send multiple events to the client.
  3. Webhooks: The ultimate decoupling. The server processes the job and then sends a callback (a webhook) to a URL provided by the client to notify it of completion.

However, 102 Processing can still be a useful tool in specific scenarios, particularly in internal APIs or systems where:

Real-World Use Cases

Where might you encounter 102 Processing in real life?

What Should Clients Do When Receiving 102 Processing?

The 102 response is purely informational, so clients typically:

Most modern HTTP clients handle 102 gracefully or ignore it since it doesn't conclude the transaction.

Impact of 102 Processing on User Experience and Performance

Though 102 helps prevent premature timeouts, it can add complexity:

Benefits of 102 Processing

Why bother with 102 Processing at all?

Common Issues and Pitfalls

While useful, there are a few caveats:

Testing APIs with Apidog

When working with status codes like 102 Processing, it's essential to test them properly, but testing APIs that use 102 Processing can be tricky because of asynchronous and multi-stage responses.

This is where Apidog really shines:

button

If you're serious about API development, Apidog makes debugging rare status codes effortless. Download Apidog for free and master your API testing, including those handling complex 102 Processing workflows.

Best Practices for Developers

Here are some tips when working with 102 Processing:

Conclusion: A Niche Tool in a Modern World

So, what is status code 102 Processing?

In short, it's a signal from the server that says:

"I’ve received your request, and I’m working on it. Don’t give up yet!"

It's especially valuable for long-running requests where silence might otherwise cause the client to assume a failure. While it's not as common as other codes, it's a powerful tool in the right scenarios.

The HTTP 102 Processing status code is a fascinating relic of a specific time in web development, designed to solve a pressing problem in the WebDAV protocol. While it has been largely superseded by more scalable asynchronous patterns, it remains a valid and sometimes useful part of the HTTP specification.

Understanding 102 Processing gives you deeper insight into the challenges of network programming and the evolution of API design. It highlights the constant tension between synchronous simplicity and asynchronous scalability.

For most modern applications, the pattern of 202 Accepted with polling or webhooks is the superior choice. But knowing that 102 exists allows you to make an informed architectural decision. And when you need to test any long-running API behavior whether it uses 102, 202, or any other status code using a powerful tool like Apidog will give you the control and visibility you need to ensure a smooth and reliable user experience, no matter how long the request takes, you can simulate requests, check intermediate responses, and debug APIs like a pro.

Don't just read about it download Apidog for free and start experimenting today.

button

Explore more

How to Use ChatGPT’s MCP Server Support with Connectors in Developer Mode

How to Use ChatGPT’s MCP Server Support with Connectors in Developer Mode

Unlock ChatGPT’s MCP support to connect with MCP servers using ChatGPT connectors. Learn how to add, create, and test custom MCP servers with OpenAI’s SDK and Apidog, plus which plans enable this powerful feature for smooth API integration.

12 September 2025

How to Use Claude Code Analytics via API

How to Use Claude Code Analytics via API

Unlock insights with the Claude Code Analytics API! Track developer activity, productivity metrics, and costs for Claude Code usage. Learn to integrate with dashboards and optimize AI workflows with this REST API.

12 September 2025

How to Use Claude's New Code Interpreter

How to Use Claude's New Code Interpreter

Claude’s new Code Interpreter (2025) lets you run Python/Node.js, create Excel/PDFs, and analyze data in a secure sandbox. Discover its features, use cases, and community dashboards!

12 September 2025

Practice API Design-first in Apidog

Discover an easier way to build and use APIs