Odpowiedź serwera 300 Multiple Choices
HTTP Status 300 (Multiple Choices)
Status kod HTTP 300 (Multiple Choices) wskazuje, że dla żądanego zasobu dostępnych jest kilka opcji. Oznacza to, że serwer może dostarczyć klientowi różne warianty zasobu, które odpowiadają jego zapytaniu. W praktyce, status ten jest użyteczny w wielu scenariuszach, takich jak różne formaty mediów, lokalizacja treści lub różne typy danych.
Przykłady użycia statusu 300
- Scenariusz z wieloma wersjami tego samego zasobu:
Na przykład, zapytanie o obraz, dla którego dostępne są różne formaty (JPEG, PNG, GIF). W tym przypadku serwer zwraca status 300 i listę dostępnych formatów.
- Scenariusz z lokalizacją treści:
Przykład zapytania do strony internetowej, która obsługuje wiele języków (np. polski, angielski, hiszpański). Serwer zwraca status 300 z dostępnymi wariantami języków.
- Scenariusz z różnymi typami treści:
Na przykład, zapytanie do API, które może zwracać dane w różnych formatach (JSON, XML, CSV). W tym przypadku serwer zwraca status 300 z listą dostępnych formatów.
Implementacja statusu 300 w różnych językach programowania
Ważne jest, aby prawidłowo obsługiwać status 300 w różnych językach programowania. Poniżej przedstawiamy przykłady implementacji w JavaScript, Pythonie i PHP.
- JavaScript (Node.js):
const express = require('express'); const app = express(); app.get('/resource', (req, res) => { const choices = [ { format: 'image/jpeg', url: 'http://example.com/image.jpg' }, { format: 'image/png', url: 'http://example.com/image.png' }, { format: 'image/gif', url: 'http://example.com/image.gif' }, ]; res.status(300).json(choices); }); app.listen(3000, () => console.log('Server running on port 3000'));
- Python (Flask):
from flask import Flask, jsonify app = Flask(__name__) @app.route('/resource') def resource(): choices = [ {'format': 'image/jpeg', 'url': 'http://example.com/image.jpg'}, {'format': 'image/png', 'url': 'http://example.com/image.png'}, {'format': 'image/gif', 'url': 'http://example.com/image.gif'}, ] return jsonify(choices), 300 if __name__ == '__main__': app.run(port=5000)
- PHP:
<?php header("HTTP/1.1 300 Multiple Choices"); $choices = [ ['format' => 'image/jpeg', 'url' => 'http://example.com/image.jpg'], ['format' => 'image/png', 'url' => 'http://example.com/image.png'], ['format' => 'image/gif', 'url' => 'http://example.com/image.gif'], ]; echo json_encode($choices); ?>
Przykładowa tabela dostępnych opcji
Format | URL |
---|---|
JPEG | http://example.com/image.jpg |
PNG | http://example.com/image.png |
GIF | http://example.com/image.gif |
Status kod 300 (Multiple Choices) jest przydatny do dostarczania klientowi informacji o dostępnych opcjach zasobu. Prawidłowe zarządzanie tym kodem może znacznie poprawić doświadczenie użytkowników oraz zminimalizować ewentualne zamieszanie.