Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Perl の HTTP/2 事情 / HTTP2 in Perl
zoncoen
December 09, 2015
Programming
0
320
Perl の HTTP/2 事情 / HTTP2 in Perl
Gotanda.pm #4
http://gotanda-pm.connpass.com/event/11993/
の発表資料です
zoncoen
December 09, 2015
Tweet
Share
More Decks by zoncoen
See All by zoncoen
Perl でも React.js の server-side rendering がしたい! / perl meets javascript with reactjs
zoncoen
0
1.6k
YAPC::Asia 2014
zoncoen
0
2.5k
同期的にプレゼンテーションするツールをつくった話
zoncoen
1
910
Gunosy.go #4 ~ flag.go ~ #gunosygo
zoncoen
0
210
Gunosy.go #3 ~ expvar.go ~ #gunosygo
zoncoen
1
650
初心者がGoでpercol実装してみた話 / Golang + Reveal.js + Websocket で同期的にプレゼンテーションしたい #hikarie_go
zoncoen
0
2.3k
Other Decks in Programming
See All in Programming
あなたの会社の古いシステム、なんとかしませんか?~システム刷新から考えるDX化への道筋とバリエーション~/webinar20220420-systems
grapecity_dev
0
130
WindowsコンテナDojo:第2回 Windowsコンテナアプリのビルド、公開、デプロイ
oniak3ibm
PRO
0
140
Named Document って何?
harunakano
0
390
アプリのログをチーム外で活用してもらうためにやったこと
shotakashihara
0
190
テスト設計技法をなぜ&どのように使うのか体験しよう!
imtnd
0
270
インフラエンジニアの多様性と評価、またはキャリアへのつなげ方 / Careers as infrastructure engineers
katsuhisa91
0
520
Unity Localization で多言語対応実装しよう / xrdnk-yokohamaunity-lt10-20220513
xrdnk
0
130
Learning DDD輪読会#4 / Learning DDD Book Club #4
suzushin54
1
140
Kueue入門/Kueue Introduction
bells17
0
510
Android Architecture Design With Koin
agiuliani
0
230
Monadic Java
mariofusco
4
260
ebpfとWASMに思いを馳せる2022 / techfeed-conference-2022-ebpf-wasm-amsy810
masayaaoyama
0
690
Featured
See All Featured
A Philosophy of Restraint
colly
192
14k
Rebuilding a faster, lazier Slack
samanthasiow
62
7.2k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
226
15k
Designing for humans not robots
tammielis
241
23k
Pencils Down: Stop Designing & Start Developing
hursman
112
9.8k
Intergalactic Javascript Robots from Outer Space
tanoku
261
25k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
12
890
A designer walks into a library…
pauljervisheath
196
16k
Large-scale JavaScript Application Architecture
addyosmani
499
110k
The Power of CSS Pseudo Elements
geoffreycrofte
46
3.9k
Fashionably flexible responsive web design (full day workshop)
malarkey
396
62k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
119
28k
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