Junior — Middle
Warum ist die Übertragung des Nachrichtentextes bei HTTP-GET-Anfragen nicht vorgesehen?
sobes.tech KI
Antwort von AI
Die GET-Methode in HTTP ist dafür vorgesehen, eine Ressource anzufordern, ohne den Zustand des Servers zu ändern. Das Übertragen des Nachrichtentextes bei GET-Anfragen ist aus mehreren Gründen nicht vorgesehen:
- HTTP-Standards: Die HTTP/1.1-Spezifikation verbietet keinen Body bei GET, definiert aber auch keine Semantik dafür, sodass Server und Proxies ihn ignorieren oder falsch verarbeiten können.
- Idempotenz und Caching: GET-Anfragen sollten idempotent und cachefähig sein, und der Body könnte diese Eigenschaften verletzen.
- Praxis und Kompatibilität: Die meisten Clients und Server unterstützen keinen Body bei GET, was zu Fehlern führen kann.
Daher werden Daten üblicherweise über URL-Parameter (Query-String) oder andere Methoden wie POST übertragen.