← Hashito System Home 日本語 Tools Blog
Input

Click a code to copy it. The list covers the codes you meet most often in practice.

How to read HTTP status codes

The first digit sets the category

1xx is informational, 2xx is success, 3xx is redirection, 4xx is a client-side problem and 5xx is a server-side problem. Even without knowing the exact code, the first digit tells you whether the caller or the server is at fault, which is where triage usually starts.

401 versus 403

Despite its name, 401 Unauthorized means unauthenticated: sending valid credentials may succeed. 403 Forbidden means the client is authenticated but not permitted, and it is also used to refuse everyone. If signing in again could fix it, use 401; if a permission change is required, use 403.

301 versus 302, 307 versus 308

301 is a permanent move and search engines transfer ranking signals to the new URL. 302 is temporary and leaves the original URL canonical, so using 302 for a permanent move means the ranking never transfers. 307 and 308 mirror 302 and 301 but preserve the request method, which is what you want when forwarding a POST.

404 versus 410

404 says the resource was not found without distinguishing a temporary absence from a permanent deletion. 410 Gone states the resource is permanently gone, which communicates intent more clearly for deleted pages you want removed from the index.

Frequently asked questions

When should I use 401 instead of 403?

401 Unauthorized means the request is unauthenticated and valid credentials may succeed. 403 Forbidden means the client is authenticated but not permitted. Use 401 when signing in again could fix it, and 403 when a permission change is needed.

Should I use 301 or 302?

Use 301 when a URL has permanently changed, so search engines transfer ranking to the new location. Use 302 for temporary forwarding where the original URL stays canonical. Using 302 for a permanent move means the ranking signals never move.

What should I do when I get a 429?

429 Too Many Requests means you hit a rate limit. If the response includes a Retry-After header, wait that many seconds before retrying. Otherwise, retry with exponential backoff so the wait grows on each attempt.

Does this reference send anything to a server?

No. The data is embedded in the page and filtering happens entirely in your browser. Nothing you type is sent to a server.

Copied