| GET |
✅ Yes |
✅ Yes |
✅ Yes |
Most commonly cached method. Responses can be cached by browsers/CDNs. |
| HEAD |
✅ Yes |
✅ Yes |
✅ Yes |
Same as GET, but no response body. Often used for checking metadata. |
| POST |
❌ No |
❌ No |
⚠️ Sometimes |
Not cacheable by default, but can be with explicit headers. |
| PUT |
❌ No |
✅ Yes |
❌ No |
Generally used for updates. Not cacheable. |
| DELETE |
❌ No |
✅ Yes |
❌ No |
Removes resources. Not cacheable. |
| PATCH |
❌ No |
❌ No |
❌ No |
Partially modifies resources. Not cacheable. |
| OPTIONS |
✅ Yes |
✅ Yes |
⚠️ Rarely |
Used for CORS preflight. Technically cacheable but rarely done. |
| CONNECT |
❌ No |
❌ No |
❌ No |
Used for tunneling (e.g., HTTPS). Not cacheable. |
| TRACE |
✅ Yes |
✅ Yes |
❌ No |
Used for diagnostics. Not cacheable. |