Metoda OPTIONS
To prośba o przesłanie informacji na temat dostępnych metod komunikacji dla danego zasobu. Możliwe jest także zapytanie o dostępne opcje samego serwera, jeżeli adres docelowy jest ustawiony na (*). Jednak z uwagi na to, że dostępne funkcjonalności są ściśle związane z zasobem, pytanie o możliwości serwera jest używane głównie jako ping (sprawdzenie dostępności) do serwera.
W przypadku zapytania o dostępne opcje danego zasobu, otrzymujemy listę dostępnych metod, które możemy wywołać na tym zasobie.
Request | Response |
OPTIONS /users/12 Host: example.com |
HTTP/1.1 200 OK Allow: HEAD,GET,PUT,DELETE,OPTIONS Content-Length: 0 |
Nagłówek Allow w odpowiedzi jest wymagany. Treść dodatkowych nagłówków lub samej wiadomości nie jest określona w specyfikacji HTTP i może zawierać dowolnie więcej informacji.
Obecnie wiele serwerów nie implementuje tej metody. Jest ona jednak nadal wykorzystywana do mechanizmu Preflighted requests, który będzie opisany w kolejnych częściach.
Według najnowszych standardów nie jest zalecane używanie metody OPTIONS ze względów bezpieczeństwa. Pozwala ona na poznanie metod, które można wykonać na zasobie, a tym samym pomaga rozpoznać środowisko ataku potencjalnemu intruzowi.
Zamiast tego do zapytań o możliwości danego zasobu polecane jest użycie nagłówka Link. Pozwala on zdefiniować m.in. jaki zasób opisuje request, który nas interesuje. Szerzej na ten temat w temacie Link header.
Link: </resource.md>; rel="describedby"