Sprawdź nagłówki HTTP

Narzędzie do sprawdzanie nagłówków HTTP, które są zwracane przez serwer podczas żądania adresu URL. Działa z adresami HTTP i HTTPS.

Jak uzyskać nagłówki HTTP swojej witryny?

Jeśli kiedykolwiek zastanawiałeś się, co to jest X-REQUEST-ID lub X-Robots-Tag, ten artykuł wyjaśni, co one oznaczają i jak je uzyskać. Tę samą metodę można zastosować w przypadku użytkowników komputerów Mac. Przytrzymaj klawisze Option + Command i kliknij prawym przyciskiem myszy dowolną interesującą Cię stronę internetową. Z tego miejsca wybierz kartę Sieć w menu Narzędzia administracyjne, a następnie kliknij przycisk Przeładuj stronę lub naciśnij klawisz F5. W oknie Nagłówki kliknij kartę Nagłówki. W tym oknie wyświetlane są nagłówki każdego wysyłanego żądania lub odpowiedzi. W zależności od tego, co chcesz wyświetlić, możesz posortować je według Żądania lub Odpowiedzi. Większość użytkowników chce oglądać tylko nagłówki odpowiedzi.

X-REQUEST-ID

Nagłówek X-Request-ID to świetny sposób na śledzenie poszczególnych żądań w interfejsie API REST. Klient może wysłać ten nagłówek wraz z żądaniem, a serwer powinien użyć tej wartości podczas wysyłania żądań zwrotnych. Serwer wyśle ten sam nagłówek z powrotem do klienta, a jego wartość zostanie uwzględniona w logach. Jeśli serwer ma problemy z tym nagłówkiem, klient może umieścić ten fakt w raporcie o błędach, a operator serwera będzie wiedział, od kogo pochodzi żądanie.

Nagłówki HTTP z prefiksem "X" są uważane za niestandardowe. Oznacza to, że nie są one częścią standardu HTTP, ale są powszechnie używane przez serwery WWW, aplikacje WWW, systemy buforowania i inne systemy. Osoby używające tych nagłówków mogą być w stanie zidentyfikować dokładną wersję oprogramowania po stronie serwera oraz typ przeglądarki internetowej używanej do uzyskania dostępu do witryny.

Odwrotne serwery proxy mogą wykryć ten nagłówek i przekazać go dalej. Niektóre odwrotne serwery proxy mogą dostarczać losową wartość zamiast nagłówka X-REQUEST-ID. Alternatywnie, Heroku przechowuje Request ID w zmiennej o nazwie $reqid. Nagłówki X-REQUEST-ID są również wysyłane przez Heroku. Django może analizować identyfikatory żądań. Pakiet django-log-request-id może rejestrować identyfikatory żądań.

Aby wykorzystać luki po stronie serwera, X-REQUEST-ID może zostać pobrany. Nagłówek ten jest używany do wykorzystywania luk w zabezpieczeniach po stronie serwera, ale może być również użyty do wysyłania sond SQL injection. Sonda SQL injection może wykorzystać nagłówek X-REQUEST-ID do przekazania jego wartości do instrukcji SQL. W ostatecznym rozrachunku chodzi o to, co można uzyskać od serwera WWW.

Projekt OWASP Secure Headers wyjaśnia, czym są różne nagłówki HTTP i jak można je wykorzystać do ochrony aplikacji. Nagłówki HTTP nie tylko zapobiegają łatwym do wykorzystania lukom, ale także pomagają programistom we wdrażaniu funkcjonalności. Właściwe użycie nagłówków sprawi, że aplikacja będzie bardziej rozbudowana i wszechstronna. Najlepsze praktyki dotyczące implementacji X-REQUEST-ID zależą od rozmiaru i złożoności aplikacji.

Popularnym sposobem modyfikacji X-REQUEST-ID jest Envoy. Nagłówek ten musi być globalnie unikalny i ustawiany przez klienta zewnętrznego. Wartość ta jest ustawiana przez envoy w celu identyfikacji pochodzenia żądania. Envoy nie ustawia X-REQUEST-ID dla żądań wewnętrznych. Dzięki temu może on być bezpiecznie przekazywany między usługami wewnętrznymi. Serwer Envoy wysyła ten nagłówek do klienta z prawidłowym żądaniem HTTP.

Prostym narzędziem do identyfikacji konkretnego żądania jest X-Country-Code WAF-a. Nagłówek ten identyfikuje konkretne żądanie w logach i puli połączeń. WAF modyfikuje również nagłówek Connection w zależności od węzła WAF. WAF zmienia ten nagłówek w zależności od puli połączeń używanej przez klienta. Narzędzie to modyfikuje nagłówek X-REQUEST-ID w oparciu o pulę połączeń używaną przez klienta.

X-Robots-Tag

Jeśli na stronie internetowej znajduje się znacznik X-Robots-Tag, należy przyjrzeć się kodowaniu, które jest w nim umieszczone. Znaczniki te zawierają instrukcje dotyczące indeksowania i przeszukiwania stron internetowych. Poprawna składnia może znacząco wpłynąć na to, jak strony są indeksowane przez wyszukiwarki. Można sprawdzić, czy znacznik X-Robots-Tag jest obecny w witrynie, korzystając z wielu narzędzi, takich jak Screaming Frog.

Znacznik X-Robots-Tag i znaczniki meta robots kontrolują indeksowanie i wyświetlanie snippetów, czyli krótkich fragmentów tekstu używanych do pokazania istotności dokumentu. W poniższej tabeli Google można wyświetlić wszystkie dyrektywy i ich wartości. Należy pamiętać, że w dyrektywach nie jest rozróżniana wielkość liter, więc ten sam znacznik meta robots może być użyty do zablokowania indeksowania zasobów innych niż HTML.

Aby sprawdzić, czy strona ma znacznik X-Robots-Tag, odwiedź swoją witrynę za pomocą przeglądarki i sprawdź, czy zawiera ona dyrektywę noindex. Znacznik noindex oznacza, że strona nie jest indeksowana przez wyszukiwarki, więc jeśli ma tę dyrektywę, nie będzie uwzględniana w wynikach wyszukiwania. Aby sprawdzić, czy Twoja witryna ma znacznik X-Robots-Tag, użyj wtyczki do Chrome lub przewiń do dołu okna przeglądarki.

Możesz ustawić znacznik X-Robots-Tag w nagłówku serwera, aby poinformować wyszukiwarki, jak mają indeksować Twoją stronę. Znacznik X-Robots-Tag jest uważany za autorytatywny, ale może również blokować niektóre działania, takie jak zapisywanie fragmentów lub klikanie łączy. Ponadto znacznik X-Robots-Tag jest przydatnym narzędziem do wykorzystania podczas optymalizacji kodu witryny pod kątem indeksowania.

Znaczniki X-Robots-Tag są pomocne dla SEO i powinny być używane razem ze znacznikiem meta robots. Znacznik meta robots odnosi się do wielu stron jednocześnie, ale znaczniki X-Robots-Tag są wygodniejsze i mogą zawierać bardziej złożone reguły regex. Jednak nie wszystkie wyszukiwarki obsługują oba typy robotów, w tym Google. Celem obu znaczników jest zaoszczędzenie zasobów potrzebnych do indeksowania zawartości witryny.