Przejdź do głównej treści

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.