progress of http/2 implementation for ats and future work
DESCRIPTION
This slide was used on HTTP/2 session of Fall 2014 ATS Summit (https://cwiki.apache.org/confluence/display/TS/Fall+2014+Summit). 2014 年秋の ATS (Apache Traffic Server) Summit の HTTP/2 セッションで用いた発表資料です。TRANSCRIPT
![Page 1: Progress of HTTP/2 implementation for ATS and future work](https://reader036.vdocument.in/reader036/viewer/2022062707/55868ce1d8b42a484c8b469c/html5/thumbnails/1.jpg)
Progress of HTTP/2 impland future work
Yahoo Japan Corporation
Ryo Okubo
![Page 2: Progress of HTTP/2 implementation for ATS and future work](https://reader036.vdocument.in/reader036/viewer/2022062707/55868ce1d8b42a484c8b469c/html5/thumbnails/2.jpg)
Agenda
• The story of HTTP/2 impl and
progress
• Future work
• How to backpost to an origin server
• Discussion
![Page 3: Progress of HTTP/2 implementation for ATS and future work](https://reader036.vdocument.in/reader036/viewer/2022062707/55868ce1d8b42a484c8b469c/html5/thumbnails/3.jpg)
The story of HTTP/2 impl
• TS-2729
• Initial patch used nghttp2 (obsoleted)
• Current patch doesn’t depends on
this (WIP)
![Page 4: Progress of HTTP/2 implementation for ATS and future work](https://reader036.vdocument.in/reader036/viewer/2022062707/55868ce1d8b42a484c8b469c/html5/thumbnails/4.jpg)
Progress
• Opening/closing HTTP/2 sessions
– Already merged
• Handling HTTP/2 requests and responses
– Implemented as prototype
![Page 5: Progress of HTTP/2 implementation for ATS and future work](https://reader036.vdocument.in/reader036/viewer/2022062707/55868ce1d8b42a484c8b469c/html5/thumbnails/5.jpg)
Y! Japan web page with HTTP/2
// Above screenshot was taken in experimental environment
![Page 6: Progress of HTTP/2 implementation for ATS and future work](https://reader036.vdocument.in/reader036/viewer/2022062707/55868ce1d8b42a484c8b469c/html5/thumbnails/6.jpg)
How to use current patches
• Get and apply a patch attached on TS-2729
– h2_prototype.patch
• Build ATS as usual
• Enable https
• Access the ATS with HTTP/2 client
– nghttp, Chrome Canary, Firefox Nightly
![Page 7: Progress of HTTP/2 implementation for ATS and future work](https://reader036.vdocument.in/reader036/viewer/2022062707/55868ce1d8b42a484c8b469c/html5/thumbnails/7.jpg)
Demo
![Page 8: Progress of HTTP/2 implementation for ATS and future work](https://reader036.vdocument.in/reader036/viewer/2022062707/55868ce1d8b42a484c8b469c/html5/thumbnails/8.jpg)
Future work
• Rethinking how to handle
backposting
• Debugging, refactoring and testing
• Implementing rest of essential
features
![Page 9: Progress of HTTP/2 implementation for ATS and future work](https://reader036.vdocument.in/reader036/viewer/2022062707/55868ce1d8b42a484c8b469c/html5/thumbnails/9.jpg)
How to backpost with HTTP/1.1?
• Use FetchSM?
• Use HttpSM directly?
• I’d like to use FetchSM at first
– Redesign and migrate to HttpSM in
future
![Page 10: Progress of HTTP/2 implementation for ATS and future work](https://reader036.vdocument.in/reader036/viewer/2022062707/55868ce1d8b42a484c8b469c/html5/thumbnails/10.jpg)
FetchSM
• SPDY code uses it
• Simple and easy solution
• But, it has a little overhead
– e.g. memcpy()
![Page 11: Progress of HTTP/2 implementation for ATS and future work](https://reader036.vdocument.in/reader036/viewer/2022062707/55868ce1d8b42a484c8b469c/html5/thumbnails/11.jpg)
HttpSM
• It can reduce overhead
• But, HttpSM needs some modification
– Redesign?
– Or add interfaces for backposting?
![Page 12: Progress of HTTP/2 implementation for ATS and future work](https://reader036.vdocument.in/reader036/viewer/2022062707/55868ce1d8b42a484c8b469c/html5/thumbnails/12.jpg)
Discussion points
• How to backpost
– FetchSM, HttpSM, etc
• Release schedule
• Another topics
![Page 13: Progress of HTTP/2 implementation for ATS and future work](https://reader036.vdocument.in/reader036/viewer/2022062707/55868ce1d8b42a484c8b469c/html5/thumbnails/13.jpg)
End of Slides
• Please give me advices if any
– IRC nickname: rokubo (rokubo_)