HTTP Status Codes: 101, 202, 206, 304 & Co
Inhaltsverzeichnis
When you browse the internet, your browser and the server are constantly communicating with each other. They exchange so-called HTTP status codes. These codes are like little messages that show whether everything is running smoothly or whether there are problems.
Some codes, like 404 Not Found, are known to almost everyone. But what do 406, 409 or 505 mean? In this article, we explain some lesser-known HTTP status codes – briefly, concisely and in an easy-to-understand way.
1. Informational Status Codes
HTTP status codes in the 1xx category are purely informational messages. They mean that the request has been received and is currently being processed. The most important code from this group is:
101 – Switching Protocols
This code signals that the server is switching to another protocol. This can happen, for example, when a web application switches from HTTP to WebSockets to enable a more stable real-time connection.
Example: A chat tool uses WebSockets so that messages appear instantly without constantly reloading the page. When you open the chat window, your browser can request the switch from HTTP to WebSockets – and the server responds with 101 Switching Protocols.
2. Success Status Codes
The 2xx status codes indicate that a request was successful. However, this does not always mean that the desired action is completed immediately – some codes indicate that processing is still ongoing or that only part of the data has been sent.
202 – Accepted
The server has accepted the request, but it has not yet been fully processed. This often happens with processes that need more time, e.g. when uploading large files or processing an order in an online shop.
Example: You order a product in a shop, and your payment system sends a request to the server. The server accepts the request (202 Accepted), but the payment is only processed later.
206 – Partial Content
This code is used when a server only sends part of a file or resource. This happens, for example, with downloads that were interrupted and are resumed later.
Example: You are downloading a large file, but the connection breaks. When you resume the download, your browser only requests the missing part of the file – and the server responds with 206 Partial Content.
3. Redirection Status Codes
The 3xx status codes mean that the requested resource can be found elsewhere or that the client can use a cached version. These codes are important for SEO and loading times, as they determine whether and how content needs to be reloaded.
304 – Not Modified
This code signals to the browser that the requested resource has not changed since the last visit. Instead of loading the file again from the server, the browser can use the locally stored version (cache).
This saves time and reduces data usage – especially important for large websites or mobile users.
A practical example: Imagine you visit a news site that you already opened this morning. Your browser asks the server whether there is a new version. If not, the server responds with 304 Not Modified – and you see the page immediately from your cache, without unnecessary reloading.
4. Client Error Codes
The 4xx status codes indicate that there is a problem with the request. Usually the error lies on the client side, i.e. with the browser or the data sent. Some of these codes point to incorrect settings, others to missing permissions or invalid requests.
406 – Not Acceptable
This code means that the server has understood the request, but cannot deliver a suitable format for the response. This can happen when the client specifies that it only accepts certain file formats, but the server does not support any of them.
For example, a browser might request: “I only accept images in WebP format”, but the server only has the image as a PNG. In this case, it returns 406 Not Acceptable.
407 – Proxy Authentication Required
When this code appears, the connection requires authentication via a proxy server. This is common in corporate networks or secured environments.
Typically, it looks like this: You want to open a website, but your company uses a proxy server to monitor internet traffic. Before you can see the page, you first have to log in via the proxy. If this does not happen, the server returns 407 Proxy Authentication Required.
409 – Conflict
A 409 Conflict occurs when a request cannot be executed because it conflicts with an already existing resource.
This often happens in databases or collaborative systems. Example: Two people are editing an article at the same time in a content management system. If user A saves a change and user B then saves their older version without taking A’s changes into account, the system detects the conflict and returns 409 Conflict.
412 – Precondition Failed
Here the server refuses the request because a condition was not met.
An example would be an update to a file that should only work if the file is still unchanged. If the file has already been modified by someone else, the condition fails and the server returns 412 Precondition Failed.
415 – Unsupported Media Type
This error occurs when the server does not support the file format sent.
A classic case: You try to upload a .psd file (Photoshop) to a web app that only accepts .jpg and .png. The server cannot handle the file type and rejects the request with 415 Unsupported Media Type.
5. Server Error Codes
The 5xx status codes indicate that there is a problem on the server side. This means the request was correct, but the server could not execute it for some reason. In most cases, the user cannot do much except try again later or inform the website operator.
505 – HTTP Version Not Supported
This error occurs when the server does not support the HTTP version used.
This is rare, but it can happen, for example, when a very old browser tries to open a website that uses a newer HTTP version. Conversely, a modern browser may use a new HTTP version that the server does not yet process.
Practical example: An old web browser from the 2000s tries to open a modern website using HTTP/2. However, the server only supports HTTP/1.1 and responds with 505 HTTP Version Not Supported.
Conclusion
HTTP status codes are like little messages between browser and server that show whether a request was successful or why there are problems. While many people are familiar with 404 Not Found, there are a number of lesser-known codes that play an important role in the background.
Why is this knowledge important?
Developers can find and fix errors faster.
Website operators understand why content is not being delivered correctly.
SEO experts use status codes such as 304 Not Modified to optimize loading times.
Whether 202 Accepted for pending requests, 409 Conflict for data collisions or 505 HTTP Version Not Supported for outdated protocols – each code has its own meaning and helps keep the internet running smoothly.