Slide 1

Slide 1 text

HTTP 2 Edwin Lunando edwinlunando.net

Slide 2

Slide 2 text

Tren Aplikasi Web Semakin besar APLIKASI Semakin banyak ASET

Slide 3

Slide 3 text

Bandwidth semakin besar Round trip time/latency tidak pernah berubah signifikan

Slide 4

Slide 4 text

HTTP request

Slide 5

Slide 5 text

Simulasi 100 Aset Mari kita buka beberapa situs.

Slide 6

Slide 6 text

Spriting

Slide 7

Slide 7 text

Inlines

Slide 8

Slide 8 text

“Mengurangi Request”

Slide 9

Slide 9 text

Kenapa Request Mahal? ● HTTP tidak menggunakan socket TCP dengan efektif ○ 1 request = 1 koneksi ○ 4-8 koneksi maksimal per host ● Verbose(text-based)

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

same HEADER same METHOD same PATHS same SEMANTICS (hanya cara mentransmisikannya berbeda)

Slide 12

Slide 12 text

Fitur Penting HTTP/2 Single, persistent connection Server Push Far Better Multiplexing Binary(less payload, less latency) Header compression

Slide 13

Slide 13 text

Simulasi HTTP2 https://http2.golang.org/gophertiles?latency=30

Slide 14

Slide 14 text

Persistent Connection

Slide 15

Slide 15 text

Multiplexing 1. Buka 4 - 8 koneksi 1. Buka 1 koneksi 2. Request dokumen HTML 2. Request dokumen HTML 3. Menerima dokumen HTML 3. Menerima dokumen HTML 4. Decode dokumen HTML 4. Decode dokumen HTML 5. Request 4-8 file yang dibutuhkan di HTML (uncompressed, plain text) 5. Request semua file yang dibutuhkan di HTML (compressed, binary) 6. Setiap koneksi, menunggu file hingga sampai 6. Menerima file 7. Request lagi untuk file yang lain 8. Ulangi 6-7 untuk file sisanya 9. Menutup semua koneksi 7. Menutup 1 koneksi

Slide 16

Slide 16 text

Server Push

Slide 17

Slide 17 text

Support HTTP2!

Slide 18

Slide 18 text

“Today’s “best practices” lead to dead ends; the best paths are new and untried.” - Peter Thiel

Slide 19

Slide 19 text

Terima Kasih!