451 Unavailable For Legal Reasons
Fault: Neither
TL;DR
Content blocked due to legal demands (censorship, DMCA).
The resource is unavailable due to legal reasons.
What This Error Means
The resource is unavailable due to legal reasons.
Content blocked due to legal demands (censorship, DMCA).
Common Causes
- DMCA takedown
- Government censorship
- Court order
- Copyright claim
How to Fix It (For Visitors)
- Content legally restricted in your region
- Use VPN (if legal)
- Contact content owner
How to Fix It (For Developers/Admins)
- Return with legal blocking reason in response body
- Specify blocking entity
- Include legal reference
Code Examples
Here's how to return a 451 status code in various programming languages:
Python (Flask)
from flask import Flask, jsonify
app = Flask(__name__)
@app.route('/endpoint')
def endpoint():
return jsonify({"message": "Unavailable For Legal Reasons"}), 451
Node.js (Express)
const express = require('express');
const app = express();
app.get('/endpoint', (req, res) => {
res.status(451).json({ message: 'Unavailable For Legal Reasons' });
});
PHP
<?php
http_response_code(451);
header('Content-Type: application/json');
echo json_encode(['message' => 'Unavailable For Legal Reasons']);
?>
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(451)
json.NewEncoder(w).Encode(map[string]string{
"message": "Unavailable For Legal Reasons",
})
}
Java (Spring Boot)
@GetMapping("/endpoint")
public ResponseEntity<Map<String, String>> endpoint() {
Map<String, String> response = new HashMap<>();
response.put("message", "Unavailable For Legal Reasons");
return ResponseEntity.status(451).body(response);
}
Ruby (Sinatra)
get '/endpoint' do
status 451
json message: 'Unavailable For Legal Reasons'
end
Browser Compatibility
| Browser | Support | Notes |
|---|---|---|
| Chrome | ✓ Full Support | All versions |
| Firefox | ✓ Full Support | All versions |
| Safari | ✓ Full Support | All versions |
| Edge | ✓ Full Support | All versions |
Official Specification
This status code is defined in RFC 7725.