Co to znaczy
Zasób ma kilka reprezentacji (język, format) i klient lub użytkownik powinien wybrać jedną. Serwer może zasugerować preferowaną przez Location.
Typowe przyczyny
- Negocjacja treści nie mogła wybrać między wariantami
- Serwer wymienia alternatywne formaty lub języki
Jak naprawić
Jako klient lub odwiedzający
Podążaj za Location, jeśli jest, albo wybierz z wymienionych linków. Przeglądarki nie wybierają automatycznie.
Jako właściciel strony lub API
Preferuj negocjację po stronie serwera (Accept, Accept-Language) i zwróć 200 z najlepszym dopasowaniem; 300 rzadko daje najlepsze wrażenia.
Przykładowa odpowiedź
HTTP/1.1 300 Multiple Choices
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
Link: </doc.en.html>; rel=alternate; hreflang=en
Link: </doc.de.html>; rel=alternate; hreflang=de
Content-Length: 0 Specyfikacja
FAQ
› Czy przeglądarki automatycznie podążają za 300?
Niektóre podążają za nagłówkiem Location, jeśli jest; w przeciwnym razie użytkownik widzi treść strony z wyborami.
› Czy 300 nadaje się dla stron wielojęzycznych?
Zwykle nie. Przekieruj kodem 302 albo serwuj właściwy język z linkami hreflang.