---
set: 4
code: 404
title: Not Found
references:
"Rails HTTP Status Symbol": ":not_found"
"Go HTTP Status Constant": "http.StatusNotFound"
"Symfony HTTP Status Constant": "Response::HTTP_NOT_FOUND"
"Python2 HTTP Status Constant": "httplib.NOT_FOUND"
"Python3+ HTTP Status Constant": "http.client.NOT_FOUND"
"Python3.5+ HTTP Status Constant": "http.HTTPStatus.NOT_FOUND"
---
The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.
A 404 status code does not indicate whether this lack of representation is temporary or permanent; the [410 Gone](/410) status code is preferred over 404 if the origin server knows, presumably through some configurable means, that the condition is likely to be permanent.
A 404 response is cacheable by default; i.e., unless otherwise indicated by the method definition or explicit cache controls[1](#ref-1).
---
* 1 Calculating Heuristic Freshness
[RFC7234 Section 4.2.2][2]
* Source: [RFC7231 6.5.4][1]
[1]:
[2]: