• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

HTTP/2, nagłówek “:authority”

Object Storage Arubacloud
+2 głosów
289 wizyt
pytanie zadane 14 sierpnia 2021 w Algorytmy przez overcq Pasjonat (21,650 p.)

Piszę serwer HTTP/2 na Linuksie i zauważyłem, że zarówno Chromium, Firefox i Edge (uruchomiony w maszynie wirtualnej) wysyłają pseudonagłówek :authority tylko w pierwszym żądaniu przy ładowaniu strony www, tzn. dla źródła strony, ale dla arkusza styli i pliku Javascript już nie. Z tego powodu serwer zwraca błąd HTTP 400 dla tych pozostałych plików.

Zastanawiam się, czy to jest poprawne zachowanie przeglądarek www i powienienem zapisywać przy pierwszym strumieniu ten nagłówek, czy raczej nie.

Jeśli uruchamiam program curl z podaną jako argument ścieżką do kilku stron www, to za każdym razem wysyła :authority, ale nie pobiera przecież plików przynależnych do strony www (jak arkusze styli i skrypty).

Sprawdzałem to zachowanie tylko dla localhost.

Jakie jest zgodne ze standardem HTTP/2 zachowanie? RFC 7540 nie podaje, kiedy ten nagłówek może być pomijany lub musi być użyty.

1 odpowiedź

+1 głos
odpowiedź 14 sierpnia 2021 przez Comandeer Guru (600,810 p.)

Zastanawiam się, czy to jest poprawne zachowanie przeglądarek www […]

Smutna prawda jest taka, że jeśli tak zachowują się co najmniej dwa silniki przeglądarek (a tu się zachowują, Blink i Gecko), to należy to uznać za poprawne zachowanie, nawet pomimo tego, że jest niezgodne ze standardem.

Niemniej tutaj nie wygląda na to, że jest to niezgodne ze standardem, bo :authority może zostać pominięte i specyfikacja mówi wprost kiedy:

To ensure that the HTTP/1.1 request line can be reproduced accurately, this pseudo-header field MUST be omitted when translating from an HTTP/1.1 request that has a request target in origin or asterisk form (see [RFC7230], Section 5.3). 

W tym wypadku wypada sprawdzić, czy w żądaniu nie ma nagłówka Host.

Widzę też drugą możliwość: HPACK

komentarz 14 sierpnia 2021 przez overcq Pasjonat (21,650 p.)
Tylko że w kompresji HPACK indeksy nagłówków zawsze muszą być podane? Jeśli tak, to tylko mogłem popełnić gdzieś błąd w implementacji.
komentarz 14 sierpnia 2021 przez Comandeer Guru (600,810 p.)
Nie wiem, nie znam aż tak dokładnie tego, jak działa ten algorytm. Z szybkiego rzutu oka na RFC tak by wynikało. Niemniej całość implementacji HTTP/2 nie wygląda na coś prostego i błędy w implementacji brzmią jak całkiem prawdopodobna przyczyna problemów.

Podobne pytania

0 głosów
0 odpowiedzi 132 wizyt
0 głosów
0 odpowiedzi 240 wizyt
0 głosów
2 odpowiedzi 625 wizyt
pytanie zadane 24 maja 2017 w Hostingi, domeny, usługi przez Bakr Mądrala (6,850 p.)

92,551 zapytań

141,393 odpowiedzi

319,523 komentarzy

61,936 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...