Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Perl の HTTP/2 事情 / HTTP2 in Perl
Search
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
260
Gunosy.go #3 ~ expvar.go ~ #gunosygo
zoncoen
1
770
初心者がGoでpercol実装してみた話 / Golang + Reveal.js + Websocket で同期的にプレゼンテーションしたい #hikarie_go
zoncoen
0
2.6k
Other Decks in Programming
See All in Programming
Detecting Compromised CI with eBPF and Cilium Tetragon
lizrice
0
250
AI Readyの正体はデータマネジメントだ メダリオン2.0の最前線
freee
PRO
0
360
Loosening the Reins: Go Generics Get More Flexible
kuro_kurorrr
0
300
AWS Transform Customによる Spring Boot 2.xから4.xへのVerUp
satoshi256kbyte
2
100
源内ハンズオン概要編
hideg
0
210
S3 を使うアプリケーションをローカル完結で動かすことに全力を注いでみた / Running S3 Apps Offline
contour_gara
0
580
<title><a id="</title>君はこのHTMLをパースできるか"></a></title> #雑LT_study
pizzacat83
0
180
go-spidermonkeyでAIエージェントのCode Modeを実装する
syumai
1
900
リアルな遅延を測る仕様
kota_yata
1
120
Building a Meta Ray-Ban display app
akkeylab
0
180
Oxlintはいいぞ(続)
yug1224
1
410
承認済みなのに差戻しできてしまうバグ、型で潰せます
shinchit
0
100
Featured
See All Featured
Building an army of robots
kneath
306
46k
How GitHub (no longer) Works
holman
316
150k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
210
Everyday Curiosity
cassininazir
0
290
Mobile First: as difficult as doing things right
swwweet
225
10k
Exploring anti-patterns in Rails
aemeredith
3
470
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
550
KATA
mclloyd
PRO
35
15k
Scaling GitHub
holman
464
140k
Code Review Best Practice
trishagee
74
20k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2.5k
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