http2 explained
  • English
    • Background
    • HTTP Today
    • Things done to overcome latency pains
    • Updating HTTP
    • http2 concepts
    • The http2 protocol
    • Extensions
    • An http2 world
    • http2 in Firefox
    • http2 in Chromium
    • http2 in curl
    • After http2
    • Further reading
    • Thanks
  • Español
    • Antecedentes
    • HTTP hoy
    • Estrategias para evitar los dolores de latencia
    • Actualizando HTTP
    • Conceptos de http2
    • El protocolo http2
    • Extensiones
    • Un mundo http2
    • http2 en Firefox
    • http2 en Chromium
    • http2 en curl
    • Después de http2
    • Otras lecturas
    • Agradecimientos
  • فارسی
    • مقدمه و معرفی
    • پیش‌زمینه
    • HTTP امروز
    • کارهایی که برای غلبه بر تأخیرها انجام شده
    • آپدیت‌کردن HTTP
    • مفاهیم http2
    • پرتکل http2
    • افزونه‌ها
    • دنیایی با http2
    • http2 در فایرفاکس
    • http2 در کرومیوم
    • http2 در curl
    • بعد از http2
    • خواندن بیشتر
    • تقدیر و تشکر
    • واژه‌نامه
  • Français
    • Avant-propos
    • HTTP aujourd'hui
    • Rustines pour s'accommoder de la latence
    • Mettre à jour HTTP
    • Concepts http2
    • Le protocole http2
    • Extensions
    • Le monde http2
    • http2 et Firefox
    • http2 et Chromium
    • http2 et curl
    • Après http2
    • Lecture complémentaire
    • Remerciements
  • Italiano
    • Background
    • HTTP oggi
    • Tecniche applicate al contrasto della latenza
    • Aggiornare HTTP
    • http2 a grandi linee
    • Il protocollo http2
    • Estensioni
    • Un mondo di http2
    • http2 in Firefox
    • http2 in Chromium
    • http2 in curl
    • Dopo http2
    • Altre letture
    • Riconoscimenti, Ringraziamenti
  • 日本語
    • 背景
    • HTTPの現状確認
    • レイテンシーの闇を克服せよ
    • もうやめて、HTTP 1.1のライフはゼロよ
    • http2のコンセプト
    • http2プロトコル
    • http2は拡張の夢を見る
    • http2化される世界
    • Firefoxにおけるhttp2
    • Chromiumにおけるhttp2
    • curlにおけるhttp2
    • http2の次にくるもの
    • 参考文献
    • 謝辞
  • 한국어
    • 배경
    • HTTP 현재
    • 대기시간의 고통을 극복하기 위해 한일
    • HTTP 업데이팅
    • http2 컨셉
    • http2 프로토콜 (번역되지 않은)
    • 연장선 (번역되지 않은)
    • http2 세계 (번역되지 않은)
    • Firefox에서의 http2
    • Chromium에서의 http2
    • curl에서의 http2
    • HTTP2 다음에 오는 것
    • 참조
    • 감사의 말
  • Português
    • Antecedentes
    • HTTP Hoje
    • Estratégias para evitar as dores da latência
    • Atualizando HTTP
    • Conceitos de http2
    • O protocolo http2
    • Extensões
    • Um mundo http2
    • http2 e Firefox
    • http2 e Chromium
    • http2 e curl
    • Após o http2
    • Outras leituras
    • Agradecimentos
  • русском
    • История
    • HTTP сегодня
    • Шаги, предпринятые для преодоления задержки
    • Обновление HTTP
    • Концепция http2
    • Протокол http2
    • Расширения
    • Мир http2
    • http2 в Firefox
    • http2 в Chromium
    • http2 в curl
    • После http2
    • Дальнейшее чтение
    • Благодарности
  • Svenska
    • Bakgrund
    • HTTP idag
    • Tricks för att komma över fördröjningssmärtor
    • Uppdatera HTTP
    • http2-koncept
    • http2-protokollet
    • Utökningar
    • En http2-värld
    • http2 i Firefox
    • http2 i Chromium
    • http2 i curl
    • Efter http2
    • Fortsatt läsning
    • Tack
  • Türkçe
    • Arkaplan
    • HTTP'nin Bugünü
    • Gecikmelerin üstesinden gelmek için yapılanlar
    • HTTP'nin güncellenmesi
    • http2 konseptleri
    • http2 protokolü
    • Uzantılar
    • http2 dünyası
    • Firefox'da http2
    • Chromium'da http2
    • curl'de http2
    • http2 sonrası
    • Daha fazla bilgi için
    • Teşekkürler
  • 中文
    • 背景
    • HTTP的现状
    • 那些年,克服延迟之道
    • 升级HTTP
    • http2的观念
    • http2协议
    • 扩展
    • http2的世界
    • Firefox里的http2
    • Chromium里的http2
    • Curl里的http2
    • 后http2时代
    • 扩展阅读
    • 致谢
Powered by GitBook
On this page
  • 7.1. Alternativa tjänster
  • 7.1.1. Opportunistisk TLS
  • 7.2. Blockad

Was this helpful?

Export as PDF
  1. Svenska

Utökningar

Previoushttp2-protokolletNextEn http2-värld

Last updated 5 years ago

Was this helpful?

Protokollet kräver att en mottagare måste ta emot och ignorera alla paket som innehåller okända paket-typer. Två parter kan därmed förhandla om en användning av nya paket-typer på hop-by-hop basis (dvs överenskommelsen gäller endast mellan dessa två ändpunkter och inte längre än så), och de paket kan då inte ändra state och de kan inte flödeskontrolleras.

Frågan huruvida http2 skulle tillåta utökningar eller inte debatterades länge medan protokollet utvecklades med åsikter som svängde åt båda hållen. Efter draft-12 svängde pendeln tillbaks en sista gång och utökningar tilläts igen.

Utökningar är därmed inte del av det egentliga protokollen utan kommer dokumenteras utanför huvudspecen. Redan nu finns det två paket-typer som har diskuterats för att inkluderas i protokollet och som troligen tillhör de första typerna att skickas som utökningar. Jag beskriver dem här bara på grund deras popularitet och deras tidigare roll som "inhemska" typer.

7.1. Alternativa tjänster

När http2 antas, finns det anledning att misstänka att TCP-koppel kommer bli mycket långvariga och hållas levande mycket längre än vad HTTP 1.x-kopper någonsin hållits. En klient bör kunna göra mycket av vad den vill över ett enda koppel per varje host/sajt och det enda kopplet kan då potentiellt hållas uppe riktigt länge.

Detta påverkar hur HTTP-loadbalancerare arbetar och det kan komma situationer där en sajt vill annonsera och föreslå att klienten kopplar upp sig mot en annan host. Det kan vara för prestandans skull men även om en sajt håller på att tas ner för underhåll och liknande.

Servern kommer då skicka (eller ALTSVC-paketet över http2) och berätta för klienten om en alternativ tjänst. En annan rutt till samma innehåll erbjudet av en annan tjänst, host och portnummer.

En klient är då tänkt att försöka koppla upp sig mot den tjänsten asynkront och bara använda alternativet ifall det fungerar bra.

7.1.1. Opportunistisk TLS

Alt-Svc-headern tillåter en server som tillhandahåller innehåll över http:// att informera klienten att samma innehåll även finns tillgängligt över ett TLS-koppel.

Detta är en någon omdiskuterad funktion. Sådana koppel använder o-autentiserad TLS och kommer inte visas som "säkra" någonstans, kommer inte använda något hänglås i gränssnittet eller faktiskt inte på något vis berätta för användaren att det inte är gammal hederlig HTTP. Men det är fortfarande opportunistisk TLS och en del människor är emot det konceptet väldigt starkt.

7.2. Blockad

Ett paket av den här typen är tänkt att skickas exakt en gång av en http2-part när denne har data att skicka men flödeskontroll förbjuder den att skicka data. Tanken är att ifall din implementation tar emot ett sådant paket så vet du att din implementation har strulat till någonting och/eller du får mindre än optimal överföringshastighet på grund av det.

Ett citat från draft-12, innan det här paketet togs ut och blev en utökning:

“Paket-typen BLOCKED är med i den här draft-versionen för att erbjuda experimentering. Om resultaten av experimenten inte resulterar i positiv feedback kommer den tas bort.

Alt-Svc:-headern