HTTPError.net

The fastest way to diagnose, understand, and fix any HTTP status code

404 Not Found

Fault: Client
TL;DR

The URL you're trying to access doesn't exist on the server.

The server cannot find the requested resource.

What This Error Means

The server cannot find the requested resource.

The URL you're trying to access doesn't exist on the server.

Common Causes

How to Fix It (For Visitors)

How to Fix It (For Developers/Admins)

Code Examples

Here's how to return a 404 status code in various programming languages:

Python (Flask)

from flask import Flask, jsonify

app = Flask(__name__)

@app.route('/endpoint')
def endpoint():
    return jsonify({"message": "Not Found"}), 404

Node.js (Express)

const express = require('express');
const app = express();

app.get('/endpoint', (req, res) => {
    res.status(404).json({ message: 'Not Found' });
});

PHP

<?php
http_response_code(404);
header('Content-Type: application/json');
echo json_encode(['message' => 'Not Found']);
?>

Go

package main

import (
    "encoding/json"
    "net/http"
)

func handler(w http.ResponseWriter, r *http.Request) {
    w.Header().Set("Content-Type", "application/json")
    w.WriteHeader(404)
    json.NewEncoder(w).Encode(map[string]string{
        "message": "Not Found",
    })
}

Java (Spring Boot)

@GetMapping("/endpoint")
public ResponseEntity<Map<String, String>> endpoint() {
    Map<String, String> response = new HashMap<>();
    response.put("message", "Not Found");
    return ResponseEntity.status(404).body(response);
}

Ruby (Sinatra)

get '/endpoint' do
    status 404
    json message: 'Not Found'
end

Browser Compatibility

Browser Support Notes
Chrome✓ Full SupportAll versions
Firefox✓ Full SupportAll versions
Safari✓ Full SupportAll versions
Edge✓ Full SupportAll versions

Official Specification

This status code is defined in RFC 7231 Section 6.5.4.

View on IANA HTTP Status Code Registry →