HTTP

HTTP 101 Switching Protocols vs 412 Precondition Failed

HTTP 101 (Switching Protocols) is a 1xx Informational response, while 412 (Precondition Failed) is a 4xx Client Error response. 101 indicates that the server understands the Upgrade header field request and indicates which protocol it is switching to. In contrast, 412 means that one or more conditions in the request headers (If-Match, If-Unmodified-Since) evaluated to false.

Описание

The server understands the Upgrade header field request and indicates which protocol it is switching to.

Когда вы это видите

When upgrading from HTTP/1.1 to WebSocket, or to HTTP/2.

Как исправить

This is normal behavior during protocol upgrades. Ensure your client supports the target protocol.

Описание

One or more conditions in the request headers (If-Match, If-Unmodified-Since) evaluated to false.

Когда вы это видите

When using conditional requests with ETags and the resource has changed.

Как исправить

Refresh the ETag/Last-Modified value and retry with updated preconditions.

Ключевые различия

1.

101 is a 1xx Informational response, while 412 is a 4xx Client Error response.

2.

HTTP 101: The server understands the Upgrade header field request and indicates which protocol it is switching to.

3.

HTTP 412: One or more conditions in the request headers (If-Match, If-Unmodified-Since) evaluated to false.

4.

You encounter 101 when when upgrading from HTTP/1.1 to WebSocket, or to HTTP/2.

5.

You encounter 412 when when using conditional requests with ETags and the resource has changed.

Когда что использовать

For 101 (Switching Protocols): This is normal behavior during protocol upgrades. Ensure your client supports the target protocol. For 412 (Precondition Failed): Refresh the ETag/Last-Modified value and retry with updated preconditions.

Узнать больше