Upgrade to Pro — share decks privately, control downloads, hide ads and more …

RFCから読むHTTP/2の仕組みと速さの秘密

 RFCから読むHTTP/2の仕組みと速さの秘密

http://minteku.connpass.com/event/41262/
こちらの勉強会で発表した資料です。
HTTP/2の速さの秘密を、RFCを読み解いて解説します。
内容は主にストリームとフレームについて。

Yusuke Saito

October 17, 2016
Tweet

More Decks by Yusuke Saito

Other Decks in Technology

Transcript

  1. RFC͔ΒಡΉHTTP/2ͷ࢓૊Έͱ଎͞ͷൿີ ໨࣍Λಡ΋͏ 1. Introduction 2. HTTP/2 Protocol Overview 3. Starting

    HTTP/2 4. HTTP Frames 5. Streams and Multiplexing 6. Frame Definitions 7. Error Codes 8. HTTP Message Exchanges 9. Additional HTTP Requirements/ Considerations 10.Security Considerations 11.IANA Considerations 12.References
  2. RFC͔ΒಡΉHTTP/2ͷ࢓૊Έͱ଎͞ͷൿີ ͳΜͱͳ͘౰ͨΓΛ͚ͭΔ 1. Introduction 2. HTTP/2 Protocol Overview 3. Starting

    HTTP/2 4. HTTP Frames 5. Streams and Multiplexing 6. Frame Definitions 7. Error Codes 8. HTTP Message Exchanges 9. Additional HTTP Requirements/ Considerations 10.Security Considerations 11.IANA Considerations 12.References
  3. RFC͔ΒಡΉHTTP/2ͷ࢓૊Έͱ଎͞ͷൿີ HTTP1.1 (RFC 7230) As a result, this specification does

    not mandate a particular maximum number of connections but, instead, encourages clients to be conservative when opening multiple connections.
  4. RFC͔ΒಡΉHTTP/2ͷ࢓૊Έͱ଎͞ͷൿີ HTTP1.1 (RFC 7230) As a result, this specification does

    not mandate a particular maximum number of connections but, instead, encourages clients to be conservative when opening multiple connections. ຊ࢓༷Ͱ͸ಛఆͷ઀ଓ਺ͷ্ݶΛٛ຿෇͚ͳ͍͕ɺΫϥΠΞϯτ͸ ෳ਺઀ଓΛ͢Δ͜ͱʹอकతͰ͋Δ͜ͱΛਪ঑͢Δɻ
  5. RFC͔ΒಡΉHTTP/2ͷ࢓૊Έͱ଎͞ͷൿີ HTTP1.1 (RFC 7230) As a result, this specification does

    not mandate a particular maximum number of connections but, instead, encourages clients to be conservative when opening multiple connections. ຊ࢓༷Ͱ͸ಛఆͷ઀ଓ਺ͷ্ݶΛٛ຿෇͚ͳ͍͕ɺΫϥΠΞϯτ͸ ෳ਺઀ଓΛ͢Δ͜ͱʹอकతͰ͋Δ͜ͱΛਪ঑͢Δɻ ఘΊ΍͕ͬͨʂ
  6. RFC͔ΒಡΉHTTP/2ͷ࢓૊Έͱ଎͞ͷൿີ HTTP/2ϓϩτίϧͷ֓ཁ ▸ HTTP/2ͷجຊ୯Ґ͸ʮϑϨʔϜʯ(Section 4.1) ▸ ֤ϑϨʔϜλΠϓ͸ҟͳΔ໨తΛՌͨ͢ ▸ HEADERS ͱ

    DATA ϑϨʔϜ͸ HTTP ϦΫΤετͱϨεϙϯ ε Λߏ੒͢Δ (Section 8.1) ▸ SETTINGS, WINDOW_UPDATE, PUSH_PROMISEͱ͍ͬͨ ϑϨʔϜ͸HTTP/2ͷผͷػೳʹ࢖ΘΕΔ
  7. RFC͔ΒಡΉHTTP/2ͷ࢓૊Έͱ଎͞ͷൿີ ౰ͨΓΛ͚ͭΔʢ̎౓໨ʣ 1. Introduction 2. HTTP/2 Protocol Overview 3. Starting

    HTTP/2 4. HTTP Frames 5. Streams and Multiplexing 6. Frame Definitions 7. Error Codes 8. HTTP Message Exchanges 9. Additional HTTP Requirements/ Considerations 10.Security Considerations 11.IANA Considerations 12.References
  8. RFC͔ΒಡΉHTTP/2ͷ࢓૊Έͱ଎͞ͷൿີ ݁ہͷͱ͜Ζ ▸ HTTP/1.1ͷ࢓༷͸େ෦෼ҡ࣋͞ΕΔ ▸ Message Syntax and Routing [RFC7230]

    ͷҰ෦ ▸ Semantics and Content [RFC7231] ▸ Conditional Requests [RFC7232] ▸ Range Requests [RFC7233] ▸ Caching [RFC7234] ▸ Authentication [RFC7235]