Nagłówek aktualizacji HTTP/1.1

nagłówka aktualizacji to pole nagłówka HTTP wprowadzone w HTTP/1.1 . Podczas wymiany klient zaczyna od postaci zwykłego tekstu , które jest później aktualizowane do nowszej wersji protokołu HTTP lub przełączane na inny protokół. Klient musi zażądać uaktualnienia połączenia; jeśli serwer chce wymusić uaktualnienie, może wysłać 426 Wymagana aktualizacja . Klient może następnie wysłać nowe żądanie z odpowiednimi nagłówkami aktualizacji, utrzymując otwarte połączenie.

Używaj z TLS

Jednym z zastosowań jest rozpoczęcie żądania na normalnym porcie HTTP, ale przełączenie na Transport Layer Security (TLS). W praktyce takie użycie jest rzadkie, a HTTPS jest znacznie bardziej powszechnym sposobem inicjowania szyfrowanego HTTP.

Serwer zwraca kod stanu 426 , aby ostrzec starszych klientów, że awaria była związana z klientem ( kody poziomu 400 wskazują na awarię klienta).

Ta metoda nawiązywania bezpiecznego połączenia jest korzystna, ponieważ:

Jeśli te same zasoby są dostępne z serwera zarówno za pomocą zaszyfrowanych bezpiecznych środków, jak i niezaszyfrowanych środków jawnych, pośrednik może utrzymywać niezaszyfrowane i nieuwierzytelnione połączenie z klientem, utrzymując jednocześnie zaszyfrowane połączenie z serwerem.

Wady tej metody obejmują:

  • Klient nie może określić wymagania dotyczącego bezpiecznego HTTP w identyfikatorze URI (chociaż klient może tego wymagać podczas negocjacji aktualizacji); I
  • Ponieważ protokół HTTP jest zdefiniowany na zasadzie przeskoku , tunelowanie HTTP może być wymagane w celu ominięcia serwerów proxy.

Użyj z WebSocket

WebSocket wykorzystuje ten mechanizm również do zestawienia połączenia z serwerem HTTP w kompatybilny sposób. Protokół WebSocket składa się z dwóch części: uścisk dłoni w celu ustanowienia zaktualizowanego połączenia, a następnie właściwy transfer danych. Najpierw klient żąda połączenia WebSocket za pomocą Upgrade: WebSocket i Connection: Upgrade wraz z kilkoma nagłówkami specyficznymi dla protokołu w celu ustalenia używanej wersji i skonfigurowania uzgadniania. Serwer, jeśli obsługuje protokół, odpowiada tą samą aktualizacją: WebSocket i połączeniem: aktualizacja nagłówki i kończy uzgadnianie. Po pomyślnym zakończeniu uzgadniania rozpoczyna się przesyłanie danych.

Użyj z HTTP/2

Mechanizm HTTP Upgrade służy do ustanowienia protokołu HTTP/2 zaczynającego się od zwykłego HTTP. Klient uruchamia połączenie HTTP/1.1 i wysyła Upgrade: h2c . Jeśli serwer obsługuje protokół HTTP/2, odpowiada HTTP 101 Switching Protocol . Mechanizm uaktualniania HTTP jest używany tylko dla zwykłego tekstu HTTP2 (h2c). W przypadku HTTP2 przez TLS (h2) zamiast tego używane jest rozszerzenie protokołu ALPN TLS.

Zobacz też

Linki zewnętrzne