httpstatuscodes.org is an easy to reference database of HTTP Status Codes with their definitions and helpful code references, each code is at httpstatuscodes.org/code
. All standard codes are included, as are some non-standard codes that have significant presence in the wild.
This project is built with:
- Flask - Python web framework
- Frozen-Flask - Static site generator
- Tailwind CSS - Utility-first CSS framework
- Markdown - Content format for status codes
To build and run this project locally:
-
Install Python dependencies:
pip install -r requirements.txt
-
Install Node.js dependencies:
npm install
-
Build CSS assets:
npm run build
-
Run the development server:
flask --app app run --debug
-
For development with CSS watching:
npm run dev
This project can be deployed in two ways:
Deploy as a traditional Flask web application:
-
Build production CSS:
npm run prod
-
Run with Gunicorn (production WSGI server):
gunicorn --workers 4 --bind 0.0.0.0:8000 main:app
-
Or run with Flask development server:
flask --app main run --debug
Generate a static site for deployment to CDN or static hosting:
-
Build production CSS:
npm run prod
-
Generate static site:
python freezer.py
-
Deploy the generated
build/
directory to your static hosting provider (Netlify, Vercel, GitHub Pages, etc.)
All contributions are welcome! If you have an idea to improve the website please submit a pull request or create an issue, or provide your thoughts on open issues.
Each status code lives in a Markdown file at app/content/codes, the easiest way to submit changes is via the GitHub editor. When contributing changes to the status codes please be mindful of the following:
- Markdown links should be used as references instead of inline
- If an RFC or external document is referenced, make the reference a link
- Source information on a status code from the most recent standards available (Status Code standards directory is available on iana.org)
- The opening paragraph of a status code should describe the meaning, following paragraphs can describe implementation
- Don't edit the meaning of descriptions, but formatting and structural changes are a-okay
- Don't double-space after a period, and remove any examples of it
- If the description references a section in the current RFC, always add the RFC identifier. For example "Section 6.6" should become "RFC1234 Section 6.6"
This project was originally known as httpstatus.es but as per this GitHub issue migrated to httpstatuses.com in November 2015 for SEO reasons.
Current Status of Original Project: The original httpstatuses.com is no longer available as a reference site - it now redirects to a commercial website. The original repository has been transferred to a new owner but remains inactive since November 2016.
This Project: This is a hobby project rebuilt from scratch with modern technologies (Flask and Tailwind CSS) with the intention to revive and maintain the HTTP status codes reference that was previously available. The goal is to provide the same valuable resource that the original project offered, but with updated technology and active maintenance.
The project is maintained at github.com/Diavolo/httpstatuscodes.