Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Perl の HTTP/2 事情 / HTTP2 in Perl
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
zoncoen
December 09, 2015
Programming
510
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Perl の HTTP/2 事情 / HTTP2 in Perl
Gotanda.pm #4
http://gotanda-pm.connpass.com/event/11993/
の発表資料です
zoncoen
December 09, 2015
More Decks by zoncoen
See All by zoncoen
About Merpay Engineering Productivity Team
zoncoen
0
2k
Perl でも React.js の server-side rendering がしたい! / perl meets javascript with reactjs
zoncoen
0
2.3k
YAPC::Asia 2014
zoncoen
0
2.7k
同期的にプレゼンテーションするツールをつくった話
zoncoen
1
1k
Gunosy.go #4 ~ flag.go ~ #gunosygo
zoncoen
0
270
Gunosy.go #3 ~ expvar.go ~ #gunosygo
zoncoen
1
780
初心者がGoでpercol実装してみた話 / Golang + Reveal.js + Websocket で同期的にプレゼンテーションしたい #hikarie_go
zoncoen
0
2.6k
Other Decks in Programming
See All in Programming
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
710
パーソナライズPodcastを作った話
repunit11
0
130
mrbgem 三角測量 開発
ogom
0
230
複雑なUIコンポーネントとの ⻑い付き合い⽅:波及するバグからテスト戦略を経て、安全な再設計へ
mixplace
0
380
Turning Architecture into Unit Tests in the AI Era (NSSpain XIV)
steliosf
PRO
1
140
【加筆修正版】Laravel のアプリケーションをどこにデプロイするか #phpcon_ehime
akase244
0
150
wkhtmltopdfの次どうするか問題2026
willnet
2
1.9k
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
960
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
200
Compiling a real-world CLI tool to native with Static Hermes
tmikov2023
0
110
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
34
16k
残高管理から台帳サービスへの進化
artoy
0
190
Featured
See All Featured
Heart Work Chapter 1 - Part 1
lfama
PRO
10
37k
Ten Tips & Tricks for a 🌱 transition
stuffmc
1
260
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
450
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
340
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
530
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
450
Producing Creativity
orderedlist
PRO
348
41k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
720
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
480
How to Talk to Developers About Accessibility
jct
2
570
Transcript
Perl ͷ HTTP/2 ࣄ Kenta Mori (@zoncoen)
HTTP/2 • HTTP/2 Approved | IETF Blog • ͏͙͢ RFC
͕ൃߦ͞ΕΔ • ͢Ͱʹ30Ҏ্ͷ࣮͕͋Δ • Implementations · http2/http2-spec Wiki
HTTP/2 for Perl • http2-perl • draft-04 • Protocol::HTTP2 •
draft-17
Protocol::HTTP2 # Prepare http/2 request $client->request( ':scheme' => "http", ':authority'
=> $host . ":" . $port, ':path' => "/hello", ':method' => "GET", headers => [ 'accept' => '*/*', 'user-agent' => 'perl-Protocol-HTTP2/0.01', ], on_done => sub { my ( $headers, $data ) = @_; printf "Get headers. Count: %i\n", scalar(@$headers) / 2; printf "Get data. Length: %i\n", length($data); print $data; }, ); • Connect AnyEvent ͰΰχϣΰχϣΔ
Protocol::HTTP2 • request -> request ͰฒྻϦΫΤετ $client->request( ':scheme' => "http",
':authority' => $host . ":" . $port, ':path' => "/minil.toml", ':method' => "GET", headers => [ 'accept' => '*/*', 'user-agent' => 'perl-Protocol-HTTP2/0.01', ], on_done => sub { my ( $headers, $data ) = @_; printf "Get headers. Count: %i\n", scalar(@$headers) / 2; printf "Get data. Length: %i\n", length($data); print $data; }, )->request( … );
Demo with nghttp2
ॴײ • ҰԠಈ͘ • ༏ઌ੍ޚͱ͔͕·ͩඍົͬΆ͍ • HPACK ͷ࣮͕… • Perl
ͰඇಉظϓϩάϥϛϯάͭΒͦ͏
༨ஊ • 2/26 ʹ gRPC ͕ެ։͞Εͨ • RPC on HTTP/2
• ֤ݴޠ༻ͷϥΠϒϥϦެ։
None
None
None