CORS (Cross-Origin Resource Sharing)
Słownik kwalifikacji INF.04 - Projektowanie, programowanie i testowanie aplikacji
Co to jest CORS?
CORS (Cross-Origin Resource Sharing) to mechanizm bezpieczeństwa używany przez przeglądarki internetowe. Określa, czy strona uruchomiona z jednej domeny może odczytywać zasoby z innej domeny, portu lub protokołu.
Przykład: aplikacja frontendowa działa pod adresem https://app.example.com, a API znajduje się pod https://api.example.com. Dla przeglądarki są to różne źródła, więc dostęp do API musi być jawnie dozwolony przez serwer.
Po co stosuje się CORS?
CORS chroni użytkownika przed niekontrolowanym odczytem danych przez obce strony. Serwer decyduje, które źródła mogą korzystać z jego zasobów.
Najważniejsze nagłówki CORS to:
Access-Control-Allow-Origin- wskazuje dozwolone źródło, np. konkretną domenę lub*,Access-Control-Allow-Methods- określa dozwolone metody HTTP, np.GET,POST,PUT,Access-Control-Allow-Headers- określa dozwolone nagłówki żądania,Access-Control-Allow-Credentials- pozwala przesyłać dane uwierzytelniające, np. cookies.
Przykład odpowiedzi serwera
Access-Control-Allow-Origin: https://app.example.com
Access-Control-Allow-Methods: GET, POST
Access-Control-Allow-Headers: Content-Type, Authorization
Ważne na egzaminie
CORS nie jest protokołem baz danych ani techniką optymalizacji. Jest to mechanizm bezpieczeństwa przeglądarki i serwera, który kontroluje dostęp aplikacji webowej do zasobów z innego źródła.