Slide 1

Slide 1 text

Perl ͷ HTTP/2 ࣄ৘ Kenta Mori (@zoncoen)

Slide 2

Slide 2 text

HTTP/2 • HTTP/2 Approved | IETF Blog • ΋͏͙͢ RFC ͕ൃߦ͞ΕΔ • ͢Ͱʹ30Ҏ্ͷ࣮૷͕͋Δ • Implementations · http2/http2-spec Wiki

Slide 3

Slide 3 text

HTTP/2 for Perl • http2-perl • draft-04 • Protocol::HTTP2 • draft-17

Slide 4

Slide 4 text

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 Ͱΰχϣΰχϣ΍Δ

Slide 5

Slide 5 text

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( … );

Slide 6

Slide 6 text

Demo with nghttp2

Slide 7

Slide 7 text

ॴײ • ҰԠಈ͘ • ༏ઌ੍ޚͱ͔͕·ͩඍົͬΆ͍ • HPACK ͷ࣮૷͕… • Perl ͰඇಉظϓϩάϥϛϯάͭΒͦ͏

Slide 8

Slide 8 text

༨ஊ • 2/26 ʹ gRPC ͕ެ։͞Εͨ • RPC on HTTP/2 • ֤ݴޠ༻ͷϥΠϒϥϦ΋ެ։

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

No content