I only recently learned that HTTP methods are case-sensitive. In order to save myself from future debugging headaches, I decided to do a quick search to see what else is case-sensitive.
This is what the RFC says. Real applications may treat things differently!
| Case sensitive? | Component | Reference |
|---|---|---|
| ✅ | HTTP version | RFC |
| ✅ | Method | RFC |
| ❌ | URI scheme | RFC |
| ❌ | URI host | RFC |
| ✅ | URI path, query, fragment | RFC |
| ❌ | Header field name | RFC |
| ✅ | Header field values | Not explicit in the RFC. See below for some exceptions. |
| ❌ | Transfer-coding header value |
RFC |
| ❌ | Connection header value |
RFC |
| ✅ | Body |
Case-sensitive:
Case-insensitive:
Transfer-coding header valueConnection header value