2016-03-15 13 views
6

chrome dev tools - wyświetla nagłówek http z wiodącym : (nie wiem, dlaczego robi to z niektórymi, a nie innymi).autorytatywny nagłówek http - w chrome dev tools

Jednym z nich jest nagłówek HTTP authority który jest wyświetlany jako:

authority:api.somedomain.com

Jednak to jest wymienione na liście nagłówków HTTP na Wikipedii. Czy jest to nowy nagłówek HTTP2, czy możliwe jest zdefiniowanie dowolnego nowego pola żądania w nagłówkach - czy są one poprawione?

Odpowiedz

13

Są to Pseudo-Header Fields zdefiniowane w nowym protokole HTTP/2.

HTTP/1.x użył wiadomości start-line do reprezentowania docelowej nazwy użytkownika, metody żądania, kodu odpowiedzi itd. Wszystkie wiadomości http są albo żądaniem od klienta do serwera, albo odpowiedzią z serwera na klienta. Te dwa typy są rozróżniane przez ich start-line, które są request-line dla żądań lub status-line dla odpowiedzi.

request-line = method SP request-target SP HTTP-version CRLF 

status-line = HTTP-version SP status-code SP reason-phrase CRLF 

można przeczytać więcej w RFC7230 section 3.1

Ale HTTP/2 wykorzystuje pola specjalny pseudo-header rozpoczynające się od ':' (ASCII 0x3a) do tego celu. Te pseudo-nagłówki są ściśle określone. Istnieją pola pseudo-nagłówków żądania i pola pseudo-nagłówka odpowiedzi. Żądaj pól pseudo-nagłówka: :method, , , :path.

The ":authority" pseudo-header field includes the authority portion of the target URI. 

authority = [ userinfo "@" ] host [ ":" port ] 

Czytaj więcej w RFC7540.

W protokole HTTP/1.x jest to odpowiednik pola nagłówka host. W dokumencie RFC7540 wymieniono niektóre środki dla zgodności wstecznej z HTTP/1.x

"Aby zapewnić wierne odtworzenie wiersza żądania HTTP/1.1, to pole pseudo nagłówka MUSI zostać pominięte podczas tłumaczenia z HTTP/1.1 żądanie, które ma cel żądania w miejscu pochodzenia lub w formie gwiazdki.Klienci generujący bezpośrednio żądania HTTP/2 POWINIEN używać pola pseudo-nagłówka ": authority" zamiast pola nagłówka Host.Pośrednik, który konwertuje żądanie HTTP/2 na HTTP /1.1 MUSI utworzyć pole nagłówka Host, jeśli nie ma go w żądaniu, kopiując wartość pola pseudo-nagłówka ": authority". "

+0

Doskonałe dzięki. – Yunti

Powiązane problemy