diff --git a/knowledge base/best practices.md b/knowledge base/best practices.md
index 045b850..fa0ded8 100644
--- a/knowledge base/best practices.md
+++ b/knowledge base/best practices.md
@@ -159,7 +159,8 @@ Consider what follows for _infrastructure_ and _platform engineering_ as well.
[adapters or interfaces][what does it mean to program to interfaces?] in the background instead.
E.g., check out how [Crossplane], [Radius] and [KRO] work.
- Offer **clear** error messages and **immediate** access to them.
- Consider leveraging different, more specific status codes for different _global_ results. E.g.:
+ Consider leveraging different, more specific [status codes][http response status codes] for different _global_
+ results. E.g.:
- Return `5` instead of `1` in UNIX to point out an executable could not find a required file.
- Return [422 Unprocessable Content] instead of [200 OK] if a request was syntactically correct, but the data it
@@ -228,6 +229,7 @@ Listed in order of addition:
[crossplane]: kubernetes/crossplane.placeholder
[editorconfig]: editorconfig.md
+[http response status codes]: http.md#response-status-codes
[keep a changelog]: keep%20a%20changelog.md
[kro]: kubernetes/kro.md
[lefthook]: lefthook.md
diff --git a/knowledge base/http response status codes.md b/knowledge base/http response status codes.md
deleted file mode 100644
index c750cd0..0000000
--- a/knowledge base/http response status codes.md
+++ /dev/null
@@ -1,14 +0,0 @@
-# HTTP response status codes
-
-## Further readings
-
-- [MDN]
-- [http.cat]
-
-
-
-
-[mdn]: https://developer.mozilla.org/nl/docs/Web/HTTP/Status
-[http.cat]: https://http.cat/
diff --git a/knowledge base/http.md b/knowledge base/http.md
new file mode 100644
index 0000000..4dde7dd
--- /dev/null
+++ b/knowledge base/http.md
@@ -0,0 +1,140 @@
+# HTTP
+
+TODO
+
+Intro
+
+
+
+1. [TL;DR](#tldr)
+1. [Response status codes](#response-status-codes)
+1. [Further readings](#further-readings)
+ 1. [Sources](#sources)
+
+## TL;DR
+
+
+
+
+
+
+
+## Response status codes
+
+> [!note]
+> Response codes not listed here are either just missing or non-standard responses, possibly custom to the server.
+
+| Code | Message | Summary |
+| ---- | ------------------------------- | ------------------------------------------------------------------------------------------------- |
+| 100 | Continue | FIXME |
+| 101 | Switching Protocols | FIXME |
+| 102 | Processing | FIXME |
+| 103 | Early Hints | FIXME |
+| 200 | OK | FIXME |
+| 201 | Created | FIXME |
+| 202 | Accepted | FIXME |
+| 203 | Non-Authoritative Information | FIXME |
+| 204 | No Content | FIXME |
+| 205 | Reset Content | FIXME |
+| 206 | Partial Content | FIXME |
+| 207 | Multi-Status | FIXME |
+| 208 | Already Reported | FIXME |
+| 226 | IM Used | FIXME |
+| 300 | Multiple Choices | FIXME |
+| 301 | Moved Permanently | FIXME |
+| 302 | Found | FIXME |
+| 303 | See Other | FIXME |
+| 304 | Not Modified | FIXME |
+| 307 | Temporary Redirect | FIXME |
+| 308 | Permanent Redirect | FIXME |
+| 400 | Bad Request | FIXME |
+| 401 | Unauthorized | FIXME |
+| 402 | Payment Required | FIXME |
+| 403 | Forbidden | FIXME |
+| 404 | Not Found | FIXME |
+| 405 | Method Not Allowed | FIXME |
+| 406 | Not Acceptable | FIXME |
+| 407 | Proxy Authentication Required | FIXME |
+| 408 | Request Timeout | FIXME |
+| 409 | Conflict | FIXME |
+| 410 | Gone | FIXME |
+| 411 | Length Required | FIXME |
+| 412 | Precondition Failed | FIXME |
+| 413 | Content Too Large | FIXME |
+| 414 | URI Too Long | FIXME |
+| 415 | Unsupported Media Type | FIXME |
+| 416 | Range Not Satisfiable | FIXME |
+| 417 | Expectation Failed | FIXME |
+| 418 | I'm a teapot | Returned by teapots requested to brew coffee.
Refer [Hyper Text Coffee Pot Control Protocol]. |
+| 421 | Misdirected Request | FIXME |
+| 422 | Unprocessable Content | FIXME |
+| 423 | Locked | FIXME |
+| 424 | Failed Dependency | FIXME |
+| 425 | Too Early | FIXME |
+| 426 | Upgrade Required | FIXME |
+| 428 | Precondition Required | FIXME |
+| 429 | Too Many Requests | FIXME |
+| 431 | Request Header Fields Too Large | FIXME |
+| 451 | Unavailable For Legal Reasons | FIXME |
+| 500 | Internal Server Error | FIXME |
+| 501 | Not Implemented | FIXME |
+| 502 | Bad Gateway | FIXME |
+| 503 | Service Unavailable | FIXME |
+| 504 | Gateway Timeout | FIXME |
+| 505 | HTTP Version Not Supported | FIXME |
+| 506 | Variant Also Negotiates | FIXME |
+| 507 | Insufficient Storage | FIXME |
+| 508 | Loop Detected | FIXME |
+| 510 | Not Extended | FIXME |
+| 511 | Network Authentication Required | FIXME |
+
+## Further readings
+
+- [HTTP response status codes]
+- [http.cat]
+- [Hyper Text Coffee Pot Control Protocol]
+
+### Sources
+
+- [How Does HTTPS Work? RSA Encryption Explained]
+
+
+
+
+
+
+
+
+
+[how does https work? rsa encryption explained]: https://tiptopsecurity.com/how-does-https-work-rsa-encryption-explained/
+[HTTP response status codes]: https://developer.mozilla.org/nl/docs/Web/HTTP/Status
+[http.cat]: https://http.cat/
+[Hyper Text Coffee Pot Control Protocol]: https://en.wikipedia.org/wiki/Hyper_Text_Coffee_Pot_Control_Protocol
diff --git a/knowledge base/https.md b/knowledge base/https.md
deleted file mode 100644
index 048381f..0000000
--- a/knowledge base/https.md
+++ /dev/null
@@ -1,68 +0,0 @@
-# HTTPS
-
-TODO
-
-Intro
-
-
-
-1. [TL;DR](#tldr)
-1. [Further readings](#further-readings)
- 1. [Sources](#sources)
-
-## TL;DR
-
-
-
-
-
-
-
-## Further readings
-
-- [Website]
-- [Main repository]
-
-### Sources
-
-- [How Does HTTPS Work? RSA Encryption Explained]
-
-
-
-
-
-
-
-[main repository]: https://github.com/project/
-[website]: https://website/
-
-
-[how does https work? rsa encryption explained]: https://tiptopsecurity.com/how-does-https-work-rsa-encryption-explained/