T1 672010128 Full text

Analisis Transfer Rate View HTTP Versi 1.1 dan HTTP
Versi 2

Artikel Ilmiah

Peneliti:
Suadarma Putra Sanjaya Engku (672010128)
Dian W. Chandra, S.Kom., M.Cs.

Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
2015

Analisis Transfer Rate View HTTP Versi 1.1 dan HTTP
Versi 2
Artikel Ilmiah

Diajukan kepada
Fakultas Teknologi Informasi

untuk memperoleh gelar Sarjana Komputer

Peneliti:
Suadarma Putra Sanjaya Engku (672010128)
Dian W. Chandra, S.Kom., M.Cs.

Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
2015

Analisis Transfer Rate View HTTP Versi 1.1 dan HTTP Versi 2
1)

2

Suadarma Putra Sanjaya Engku, ) Dian W. Chandra
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana

Jl. Diponegoro 52-60, Salatiga 50711, Indonesia
1)
Email: suadarmae@gmail.com, 2) dian.chandra@staff.uksw.edu

Abstract
Hypertext Transfer Protocol (HTTP) is an application layer network protocol
used for distributed information systems, collaborative, and using hypermedia. Web
technology has evolved rapidly over the last 25 years with CSS, Javascript and video so
as to make the website look more attractive and interactive. But technology is not much
developed web protocols. HTTP/2 is the latest generation web protocol that has just
unveiled its standards by the IETF. In this study conducted a comparative analysis of the
speed of transfer rate from the web server to the browser via the two protocols are HTTP
/1.1 and HTTP/2. The results of this study indicate that the HTTP/2 is faster than HTTP
/1.1 in terms of transfer rate, it is affected by one of them, namely server push. Their
server push helps reduce the wait time experienced by the browser. At the time the
browser requests a page html, server reply by sending the html page, then the server set
up multiple resources further. So that when the browser to request the latter to request a
resource that is required by the html page, the server is set up in advance.
Keywords: HTTP/1.1, HTTP/2, Server Push, Transfer Rate


Abstrak
Hypertext Transfer Protocol (HTTP) adalah sebuah protokol jaringan lapisan
aplikasi yang digunakan untuk sistem informasi terdistribusi, kolaboratif, dan
menggunakan hipermedia. Teknologi web sudah berkembang pesat selama 25 tahun
terakhir dengan adanya CSS, Javascript dan video sehingga membuat tampilan website
menjadi lebih menarik dan interaktif. Akan tetapi teknologi protokol web tidak banyak
berkembang. HTTP/2 adalah protokol web generasi terbaru yang baru saja diresmikan
standard-nya oleh IETF. Pada penelitian ini dilakukan analisis perbandingan kecepatan
transfer rate dari web server ke browser melalui dua protokol yaitu HTTP 1.1 dan
HTTP/2. Hasil dari penelitian ini menunjukkan bahwa HTTP/2 lebih cepat dari HTTP/1.1
dalam hal transfer rate, hal ini dipengarui oleh salah satunya, yaitu server push. Adanya
server push membantu mengurangi waktu tunggu yang dialami oleh browser. Pada saat
browser meminta halaman html, server membalas dengan mengirimkan halaman html
tersebut, kemudian server menyiapkan resource-resource selanjutnya. Sehingga ketika
browser melakukan request yang kedua untuk meminta sebuah resource yang diperlukan
oleh halaman html, server sudah menyiapkan terlebih dahulu.
Kata Kunci: HTTP/1.1, HTTP/2, Server Push, Transfer Rate
1)

Mahasiswa Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Universitas Kristen Satya

Wacana
2)
Staf Pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana.

1.

Pendahuluan

Jaringan komputer dan internet mempermudah proses pertukaran
informasi. Hypertext Transfer Protocol (HTTP) adalah sebuah protokol jaringan
lapisan aplikasi yang digunakan untuk sistem informasi terdistribusi, kolaboratif,
dan menggunakan hipermedia. Penggunaannya banyak pada pengambilan sumber
daya yang saling terhubung dengan tautan, yang disebut dengan dokumen
hiperteks, yang kemudian membentuk World Wide Web.
Teknologi web sudah berkembang pesat selama 25 tahun terakhir dengan
adanya CSS, Javascript dan video sehingga membuat tampilan website menjadi
lebih menarik dan interaktif. Akan tetapi teknologi protokol web tidak banyak
berkembang. Protokol HTTP/1.1 yang paling banyak dipakai saat ini dirilis pada
tahun 1999 dan sudah ketinggalan jaman. Ini menyebabkan loading website
interaktif semakin lama semakin lambat dan membuat banyak developer web

frustrasi. Berbagai teknik dikembangkan seperti kompresi HTML, CSS,
Javascript, caching, dll. Tapi semua itu hanya membuat repot dan tidak banyak
membantu. Lambatnya website semakin terasa, apalagi saat diakses melalui
handphone/mobile yang koneksi Internet-nya cenderung tidak stabil.
HTTP/2 adalah protokol web generasi terbaru yang baru saja diresmikan
standarnya oleh IETF. Tujuan utama dibuat HTTP/2 adalah memperbaiki
kelemahan yang ada di HTTP/1.1 dan membantu website bisa dimuat lebih cepat
dan juga lebih aman. Kelemahan pada HTTP/1.1 salah satunya yaitu ketika
browser meminta halaman, server akan mengirimkan dokumen HTML, dan
kemudian perlu menunggu browser untuk mengurai dokumen HTML dan
menerbitkan request untuk semua aset tertanam, sebelum server dapat mulai
mengirim JavaScript, gambar dan CSS. Teknologi server push pada HTTP/2
memungkinkan server untuk menghindari perputaran ini dengan cara
"mendorong" aset-aset tersebut dari server ke klien [1].
Pada penelitian ini dilakukan analisis perbandingan transfer rate dari web
server ke browser melalui dua protokol yaitu HTTP/1.1 dan HTTP/2. Analisis
dilakukan pada lingkungan terisolasi, yaitu menggunakan virtual machine
(VirtualBox).
2.


Tinjauan Pustaka

Salah satu penelitian yang menjadi acuan untuk menganalisis transfer rate
adalah penelitian oleh Setyawan [2]. Penelitian ini bertujuan untuk menganalisa
dan membandingkan kecepatan transfer rate dan sumber daya cpu, memory yang
terpakai pada protokol FTP dan FTPS serta mengetahui dari sisi kelebihan dan
kekurang keamanan kedua protokol tersebut. Melihat perbedaan protokol FTP dan
FTPS pada server yang telah dibangun, peneliti menyediakan 5 (lima) buah klien
untuk uji coba, kabel UTP dan switch. 5 (lima) buah klien tersebut akan
mentransfer data secara bersamaan. Komputer server FTP dan FTPS
menggunakan processor core i3, memory 2 Gigabyte dan hardisk 80 Gigabyte.

1

Perangkat lunak menggunakan Sistem Operasi Debian 7.4, Proftpd versi 1.3.4
sebagai service dan OpenSSL versi 1.0.1, coreftp 2.2, wireshark 1.12.0 serta
didukung command linux yaitu top untuk melihat informasi seberapa besar
sumber daya yang digunakan pada cpu dan memory. Hasil penelitian bahwa
menunjukkan protokol FTP lebih cepat dalam mentransfer data dibandingkan
dengan protokol FTPS. Penggunaan sumber daya CPU dan memory terlihat sama.

Saat transfer data protokol FTPS tidak begitu cepat akan tetapi dalam hal
keamanan user dan password tidak mampu disadap oleh aplikasi wireshark.
Penelitian Setyawan dengan penelitian sekarang sama-sama menganalisis
kecepatan transfer rate pada protokol yang memiliki fungsi yang sama. Setyawan
membandingkan protokol FTP dengan protokol FTPS. Penggunaan SSL pada FTP
sehingga menjadi FTPS, memberikan efek pada menurunnya kecepatan transfer
rate, dibandingkan dengan FTP biasa. Pada penelitian sekarang, memiliki
perbedaa yaitu, yang dibandingkan adalah dua protokol yaitu HTTP 1.1 dengan
HTTP/2.
Goldberg melakukan perbandingan antara HTTP dengan HTTPS [3].
Penelitian tersebut membandingkan kinerja komunikasi web terenkripsi dan nonenkripsi. Penelitian tersebut menyajikan pengukuran pada enkripsi web yang
paling banyak digunakan yaitu Secure HyperText Transport Protocol (HTTPS)
pada Secure Sockets Layer (SSL) versi 3.0 dengan enkripsi 40 bit dan 128 bit
RC4. Enkripsi meningkatkan waktu respon sampai dengan 22%, dari dua Web
server, Netscape Enterprise Server 3.5.1 dan Microsoft IIS 4.0. Perbedaan
penelitian Goldberg dengan penelitian saat ini ada pada obyek analisis. Goldberg
membandingkan HTTP 1.1 dengan HTTPS (SSL pada HTTP 1.1). Penelitian
sekarang membandingkan HTTP 1.1 dengan HTTP/2. Pada kedua protokol
tersebut dikonfigurasi untuk menggunakan SSL.
Chowdhury, Sapra, dan Hindle [4] melakukan penelitian untuk

membandingkan konsumsi energi oleh pengguna perangkat mobile dalam hal
mengakses HTTP/1.1 dan HTTP/2. Pengguna perangkat mobile mulai
menunjukkan peningkatan dalam mengakses Internet, yang merupakan kegiatan
yang membutuhkan energi dan biaya yang mahal. Penelitian tersebut memberikan
kesimpulan yaitu HTTP/2 mengkonsumsi energi lebih rendah dari pada
HTTP/1.1. Hal ini dikarenakan karena RTT (round trip time) pada HTTP/2 lebih
sedikit daripada HTTP/1.1. RTT adalah waktu yang diperlukan oleh browser
untuk meminta resource ke server, ditambah waktu oleh server untuk mengirim
resource yang diminta, ke browser. Penelitian tesebut juga menyebutkan bahwa
adanya server push membantu mengurangi RTT (latency).
Penelitian Chowdhury, Sapra dan Hindle memiliki kesamaan dengan
penelitian sekarang, dalam hal menganalisis perbedaan HTTP/1.1 dengan
HTTP/2. Perbedaan dengan penelitian ini, yaitu pada penelitian Chowdhury,
dibahas mengenai konsumsi energi pada perangkat mobile untuk mengakses
kedua protokol tersebut. Pada penelitian ini, dianalisis pada sisi transfer rate.
Berdasarkan penelitian-penelitian yang telah dilakukan mengenai
perbandingan protokol transfer rate secure dan non-secure, perbandingan HTTP

2


secure dan non-secure, dan penelitian tentang HTTP/2, maka dilakukan penelitian
mengenai perbandingan HTTP 1.1 dengan HTTP/2. Perbandingan dilakukan pada
kecepatan transfer rate dan pada teknologi server push yang ada pada HTTP/2.
HTTP /2 adalah versi berikutnya dari HTTP dan didasarkan pada Google
SPDY, yang dirancang untuk mempercepat loading halaman web dan pengalaman
browsing. HTTP/2 adalah standar baru dan akan mengambil alih protokol
HTTP1.1 yang saat ini digunakan oleh sebagian besar situs di internet. HTTP /2
adalah protokol yang lebih modern yang bisa meningkatkan kecepatan browsing
web dengan menggunakan cara-cara baru transportasi data antara browser dan
server di internet. HTTP/2 kompatibel dengan HTTP1.1 dan menggunakan
sebagian besar teknologi yang sama, tetapi lebih efisien dan memungkinkan
server untuk merespon dengan lebih banyak konten daripada yang diminta,
menghilangkan kebutuhan komputer pengguna terus mengirim permintaan
informasi lebih lanjut sampai situs benar-benar ditampilkan [1].
3.

Metode dan Perancangan Sistem

Penelitian yang dilakukan, diselesaikan melalui tahapan metode PPDIOO
yang dikembangkan oleh Cisco System [5]. Siklus hidup metode PPDIOO

ditunjukkan pada Gambar 1.
Tahap pertama: yaitu melakukan analisis masalah dan mengumpulkan
literature. Pada tahap awal ini, ditentukan masalah yang dianalisis. Pada
penelitian ini, secara garis besar, masalah yang diteliti adalah: (1) Bagaimana
membangun server HTTP/1.1 dan HTTP/2 yang menyediakan fitur Server Push.
(2) Bagaimana HTTP/1.1 dan HTTP/2 Server Push bekerja; (3) Apa kelebihan
fitur Server Push yang dapat dirasakan bagi pengembang web maupun
pengguna web. Penelitian-penelitian terdahulu yang dicari harus dapat menjadi
acuan bagi penelitian ini. Penelitian terdahulu diharapkan dapat memberikan
panduan, hal yang perlu, maupun tidak perlu dilakukan dalam melakukan analisis
HTTP/2.

Gambar 1 Siklus PPDIOO

Tahap Kedua: merupakan tahapan dilakukan analisa kebutuhan hardware
dan software yang diperlukan dalam penelitian Pada server, selain diinstal web

3

server, perlu juga diinstal SSL, yang akan digunakan pada HTTPS. Fitur ini

diperlukan untuk mengaktifkan layanan HTTP/2. Sistem yang dirancang memiliki
kebutuhan yang terbagi menjadi kebutuhan perangkat keras, dan kebutuhan
perangkat lunak.
Tabel 1 Kebutuhan Perangkat Keras
Perangkat Keras

No

Fungsi

Jumlah

1

Web Server

Komputer Server

1

2

Client PC

Komputer Desktop/Laptop yang
terkoneksi ke Server

1

2

Tabel 2 Kebutuhan Perangkat Lunak Server
Fungsi
Software
Web Server dengan dukungan
LiteSpeed Web Server
HTTP/2
5.0
SSL
OpenSSL

3

Sistem Operasi

No
1

Ubuntu Server 15
Tabel 3 Kebutuhan Perangkat Lunak Client
Software

No

Fungsi

1

Browser

Mozilla Firefox 43.0
Google Chrome 47.0

2

Software Analisis

Process Explorer

3

Sistem Operasi

Windows 7

Perangkat keras yang digunakan yaitu 1 PC yang berfungsi sebagai Server,
dan 1 PC yang berfungsi sebagai client. Server akan menggunakan sistem operasi
Ubuntu Server 15. Ubuntu Server lebih ringan dari pada Ubuntu Desktop, karena
tidak adanya GUI. Sehingga tidak membutuhkan ruang instalasi dan memori kerja
yang besar. Ubuntu dipilih karena open source, dan memiliki dokumentasi yang
baik.
Web server yang pilih harus mendukung HTTP 1.1 dan HTTP/2, mudah
diinstal dan dikonfigurasi. Karena server yang digunakan adalah Linux Ubuntu,
maka pilihan dipersempit pada web server yang dapat diinstal pada system
operasi Linux. LiteSpeed dipilih karena menyediakan versi Standard Edition
(free for private and commercial use). LiteSpeed mendukung bahasa
pemrograman PHP. LiteSpeed dapat menggunakan httpd.conf dan .htaccess milik
Apache, sehingga mempermudah proses migrasi dari web server Apache [6].
Browser yang digunakan adalah keseluruhan browser yang menjadi
pilihan pada Tabel 3. Browser tersebut diinstal pada komputer client, dengan
sistem operasi Windows 7.

4

Tahap ketiga merupakan langkah untuk merancang sistem. Sistem
yang dirancang merupakan bentuk hubungan client-server. Rancangan
arsitektur sistem ditunjukkan pada Gambar 2.

Gambar 2 Arsitektur Sistem

Tahap Keempat: yaitu mengimplementasikan rancangan yang telah dibuat
di tahap dua ke dalam sebuah aplikasi/program sesuai kebutuhan sistem. Proses
instalasi pada server dilakukan dengan tahapan yang dimulai dengan instalasi
Ubuntu, kemudian instalasi LiteSpeed Web Server (LSWS). Setelah LSWS
berhasil dijalankan, maka perlu dilakukan instalasi OpenSSL, dan fitur SSL pada
LSWS perlu diaktifkan. Langkah mengaktifkan SSL pada LSWS disediakan pada
webconsole. Selanjutnya adalah mengaktifkan HTTP/2, dilakukan juga melalui
webconsole. Langkah terakhir adalah meletakkan file-file ujicoba pada folder
$HOME yaitu di /usr/local/lsws/DEFAULT/web.
Tahap Kelima: yaitu melakukan pengujian terhadap sistem yang telah
dibuat, serta menganalisis hasil pengujian tersebut. Hasil analisis diharapkan
dapat menjadi acuan dan pertimbangan dalam menggunakan HTTP/2 Server Push.
Skenario pengujian dimulai dari mengaktifkan server. Jika web server diinstal
dengan menggunakan user “root”, maka web server akan otomatis aktif ketika
komputer server aktif. Jika web server diinstal dengan user bukan root, maka
perlu
diaktifkan
dengan
perintah:
sudo
./usr/local/lsws/bin/lswsctrl start. Pada komputer client,
diakses alamat web server dengan menggunakan browser Chrome dan Firefox.
Contoh: http://192.168.0.102/web/forms.html. Kemudian dengan menggunakan
menu “Developer tools (Ctrl + Shift + i)” dilakukan analisis kecepatan
transfer file yang terjadi dari client ke web server dan sebaliknya.
Tahap keenam: yaitu melakukan optimasi terhadap hasil implementasi.
Optimasi dilakukan berdasarkan pengujian yang dilakukan.
4.

Hasil dan Pembahasan

Pada bagian ini dijelaskan tentang hasil penelitian yang telah dilakukan.
Pengujian dilakukan dengan cara memasang suatu website yang menggunakan
resources CSS dan JavaScript. Kemudian website tersebut diakses melalui HTTP
1.1 dan HTTP/2. Pada setiap akses, dicatat waktu transfer rate yang diterima pada
browser. Browser yang digunakan untuk pengujian adalah Mozilla Firefox dan
Google Chrome.
Sesuai dengan draft spesifikasi HTTP/2 [7],
semua webserver yang
mengimplemetasikan HTTP/2 diharuskan untuk menggunakn TLS versi 1.2

5

keatas. TLS (Transport Layer Security) adalah penerus dari SSL, dan pada
umumnya dianggap sebagai ‘SSL’ [8]. Proses instalasi SSL memerlukan private
key dan certificate, ditunjukkan pada Gambar 3.

Gambar 3 Menentukan file Private key dan Certificate

Gambar 4 Mengaktifkan SSL

Karena TLS digunakan pada fitur HTTP/2 maka, untuk mengakses
HTTP/2 dilakukan melalui port 443, yaitu HTTPS. Semua browser saat ini yang
mendukung HTTP/2, mewajibkan adanya fitur enkripsi [9] (IETF HTTP Working
Group, 2015). Setelah instalasi SSL, maka dapat diaktifkan fitur HTTPS. Secara
default port yang digunakan adalah 443.

Gambar 5 Mengaktifkan HTTP/2

Pada komputer client diinstal browser Mozilla Firefox dan Google
Chrome. Proses pengujian dilakukan bergantian, HTTP 1.1 dengan browser Mozilla
Firefox.

6

Gambar 6 Halaman web yang digunakan sebagai pengujian

Gambar 7 Struktur direktori web yang digunakan sebagai pengujian

Pengujian pertama dilakukan dengan menggunakan browser Mozilla
Firefox. Analisis dilakukan dengan menggunakan fitur “Developer Tool”
(Gambar 8). Penggunaan analisis transfer rate dengan menggunakan Developer
Tool, secara otomatis menon-aktifkan “cache” pada browser.

Gambar 8 Network Monitor HTTP 1.1 pada Mozilla Firefox

Resources diambil dari server dengan urutan sesuai dengan yang tertulis
pada dokumen html. Setelah dokumen index.html, yang didorong (push) dari
server adalah dengan urutan: (1) bootstrap.min.css; (2) font-awesome.min.css; (3)
local.css; (4) jquery-1.10.2.min.js; dan (5) bootstrap.min.js. Urutan tersebut terjadi
karena resource diambil dari server urut sesuai dengan baris perintah yang
terdapat di dalam tag .

7

Gambar 9 Header pada Mozilla Firefox untuk HTTP 1.1

Pada Gambar 9, ditampilkan informasi yaitu jenis content text/html,
panjang data (content-length) 4001 byte (3.91 KB). Format encoding yaitu gzip,
dengan arti bahwa content dikompresi dengan algoritma gzip. Pada header
tersebut juga ditampilkan informasi mengenai versi protocol, yaitu HTTP/1.1.
Analisis transfer rate dari web server ke browser dilakukan sebanyak 30
kali, dengan menggunakan Developer Tool seperti ditunjukan pada Gambar 10.
Hasil pengujian ditunjukkan pada Tabel 4. S berarti Send, W berarti Waiting, dan
R berarti Receiving.

Gambar 10 Kecepatan Transfer Pada Browser

Gambar 11 Penggunaan Memori oleh Firefox dalam Mengakses HTTP 1.1

8

Firefox menggunakan memory (Gambar 11) sebesar 132.276 KB untuk
mengakses web dalam protokol HTTP/1.1. Website yang sama kemudian diakses
melalui protokol HTTP/2 dengan browser Mozilla Firefox. Hasil analisis melalui
Network Monitor pada Firefox ditunjukkan pada Gambar 12.

Gambar 12 HTTP/2 pada Mozilla Firefox

Gambar 13 Header pada Mozilla Firefox untuk HTTP/2

Gambar 13 menunjukkan header untuk website dengan protocol HTTP/2.
Versi protocol yang ditunjukkan pada gambar tersebut yaitu HTTP/2.0. Analisis
transfer rate dari web server ke browser dilakukan sebanyak 30 kali dengan
menggunakan developer tool (Gambar 14). Hasil pengujian ditunjukkan pada
Tabel 4.

Gambar 14 Kecepatan Transfer Pada Browser

9

Gambar 15 Penggunaan Memory oleh Mozila Firefox untuk Mengakses HTTP/2

Firefox menggunakan memory sebesar 125.416 KB untuk mengakses web
dalam protokol HTTP/2. Lebih kecil dari pada protokol HTTP 1.1
Tabel 4 Ringkasan Rata-rata Waktu Transfer Mozilla Firefox
No

File

Send (ms)

HTTP 1.1
Waiting
(ms)

Receive
(ms)

Send (ms)

HTTP/2
Waiting
(ms)

Receive
(ms)

4.53

3.60

1.

Index.html

38.50

17.50

16.47

28.77

2.

Bootstrap.min.css

1.27

19.70

21.40

1.20

8.17

5.63

3.

Font-awesome.min.css

14.97

22.77

23.63

1.10

12.33

5.07

4.

Local.css

15.53

23.87

23.70

1.23

12.13

3.87

5.

Jquery-1.10.2.min.js

16.70

27.37

22.20

1.33

14.33

4.57

6.

Bootstrap.min.js

16.43

30.43

18.83

1.40

18.03

3.50

Pada Tabel 4, ditunjukkan bahwa waktu Send pada HTTP/2 lebih kecil
dari pada HTTP 1.1. Hal ini dikarenakan resource-resource tersebut (selain
index.html), didorong oleh server, bahkan sebelum client (browser) meminta
resource tersebut. Proses ini hanya terjadi pada HTTP/2 karena adanya teknologi
server push [10]. Server push juga membantu mengurangi waktu tunggu server,
karena server tidak perlu menunggu request dari browser untuk mengirimkan
resource [4]. Receive time pada HTTP/2 juga menurun nilainya, hal ini
disebabkan karena adanya teknologi header compression [4].
Pengujian kedua dilakukan dengan menggunakan browser Chrome.
Analisis dilakukan dengan menggunakan fitur “Developer Tool” (Gambar 16).

Gambar 16 Kecepatan Transfer Pada Browser

10

Gambar 17 Penggunaan Memory oleh Google Chrome untuk Mengakses HTTP 1.1

Chrome menggunakan memory sebesar 109.216 KB untuk mengakses
web dalam protokol HTTP 1.1.

Gambar 18 HTTP/2 pada Chrome

Gambar 19 Kecepatan Transfer Pada Browser

Gambar 20 Penggunaan Memory oleh Chrome untuk Mengakses HTTP/2

11

Chrome menggunakan memory sebesar 98168 KB untuk mengakses web
dalam protokol HTTP/2. Lebih kecil dari pada protokol HTTP 1.1 (109150 KB),
dan lebih kecil dari pada Mozilla Firefox secara keseluruhan.
Tabel 5 Ringkasan Rata-rata Waktu Transfer Google Chrome
No

File

Send
(ms)

HTTP 1.1
Waiting
(ms)

Receive
(ms)

Send
(ms)

HTTP/2
Waiting
(ms)

Receive
(ms)

1.

Index.html

0.34

16.09

3.59

0.16

4.30

2.33

2.

Bootstrap.min.css

0.22

17.41

11.31

0.17

6.77

5.47

3.

Font-awesome.min.css

0.23

20.85

11.75

0.20

11.40

4.98

4.

Local.css

0.21

19.68

13.46

0.18

11.87

3.77

5.

Jquery-1.10.2.min.js

0.22

21.81

13.78

0.22

13.76

4.41

6.

Bootstrap.min.js

0.25

22.34

8.83

0.20

17.95

2.74

Pada Tabel 5, seperti halnya yang terjadi pada browser Mozilla Firefox,
pada Google Chrome ditunjukkan bahwa waktu Send pada HTTP/2 lebih kecil
dari pada HTTP/1.1. Hal ini dikarenakan resource-resource tersebut (selain
index.html), telah disiapkan oleh server, setelah browser meminta file index.html.
Proses ini hanya terjadi pada HTTP/2 karena adanya teknologi server push [10].
Server push juga membantu mengurangi waktu tunggu server, karena ketika
browser meminta sebuah resource, server sudah mempersiapkannya terlebih
dahulu [4]. Receive time pada HTTP/2 juga menurun nilainya, hal ini disebabkan
karena adanya teknologi header compression [4].
Browser

Server

Meminta index.html

Mencari file index.html

Menampilkan
index.html

Mengirimkan file
index.html

Meminta file
bootstrap.min.css

Mencari file
bootstrap.min.cssl

Menampilkan
bootstrap.min.css

Mengirimkan file
bootstrap.min.css

Meminta file Fontawesome.min.css

Mencari file Fontawesome.min.css

Menampilkan file Fontawesome.min.css

Mengirimkan file Fontawesome.min.css

dst

Gambar 21 Langkah request dari browser dan response dari server pada HTTP/1.1

12

Browser

Server

Meminta index.html

Mencari file index.html

Menampilkan
index.html

Menyiapkan file
Bootstrap.min.css
Font-awesome.min.css
Local.css
Jquery-1.10.2.min.js
Bootstrap.min.js

Mengirimkan file
index.html

Meminta file
bootstrap.min.css
Menampilkan
bootstrap.min.css

Mengirimkan file
bootstrap.min.css

Meminta file Fontawesome.min.css
Meminta file Fontawesome.min.css

Mengirimkan file Fontawesome.min.css

dst

Gambar 22 Langkah request dari browser dan response dari server pada HTTP/2

Gambar 21 dan Gambar 22 menunjukkan perbandingan pengambilan
resource antara HTTP/1.1 dengan HTTP/2. Pada HTTP/2, setelah server
mengirimkan index.html, server mempersiapkan file-file antrian yang selanjutnya
akan diminta oleh browser. Sehingga ketika browser meminta pada server, server
sudah siap dengan file yang akan dikirimkan selanjutnya. Proses ini membantu
mengurangi waiting time pada server, yang dirasakan oleh browser.
Pada perbandingan penggunaan memory (RAM). Chrome menunjukkan
penggunaan memory yang lebih kecil dari pada Firefox. Versi kedua browser
tersebut adalah Chrome Version 47.0.2526.111 dan Firefox 43.0.1. Sebelum versi
45, Chrome menggunakan memory yang cukup besar, lebih besar dari
penggunaan memory oleh Firefox. Sejak versi 45, Chrome mampu menghemat
sampai dengan 25% penggunaan memory [11]. Sehingga pada hasil pengujian
perbandingan penggunaan memory, Chrome cenderung lebih kecil daripada
Firefox.
Tabel 6 Rata-rata kecepatan dan Efisiensi Protokol
No

File

Google Chrome
HTTP1.1

1.
2.
3.
4.
5.
6.

Index.html
Bootstrap.min.css
Font-awesome.min.css
Local.css
Jquery-1.10.2.min.js
Bootstrap.min.js

20.01
28.93
32.83
33.34
35.80
31.42

HTTP/2
6.79
12.40
16.58
15.82
18.38
20.88

13

Mozilla Firefox

Efisiensi
66.07%
57.13%
49.50%
52.56%
48.65%
33.53%

HTTP1.1
72.47
42.37
61.37
63.10
66.27
65.70

HTTP/2
62.73
42.30
47.50
48.80
50.90
50.67

Efisiensi
13.43%
0.16%
22.60%
22.66%
23.19%
22.88%

Berdasarkan pengujian pada kedua browser, terjadi perbedaan urutan
penampilan resource (Gambar 23) di Google Chrome, baik pada protocol
HTTP/1.1 maupun HTTP/2. Sedangkan pada Mozilla Firefox, tidak terjadi
demikian. Mozilla Firefox secara konsisten, menampilkan urutan resource yang
diperoleh dari server. Pengujian dilakukan sebanyak 120 kali, terdiri dari 30 kali
untuk Google Chrome pada HTTP/1.1, 30 kali untuk Google Chrome pada
HTTP/2, 30 kali untuk Mozilla Firefox pada HTTP/1.1 dan 30 kali HTTP/2.
Sehingga dapat disimpulkan bahwa urutan resource ini bukan dipengaruhi oleh
server, namun merupakan perilaku browser.

Gambar 23 Urutan Penampilan Resource

Gambar 24 Urutan Resource yang didorong oleh Server

Resources diambil dari server dengan urutan berdasarkan resource mana
yang dibutuhkan terlebih dahulu. Setelah dokumen index.html, yang didorong
(push) dari server adalah dengan urutan ditunjukkan pada Tabel 7.
Urutan
1

Tabel 7 Urutan Resource pada Mozilla Firefox
File
Penyebab Urutan
bootstrap.min.css
Digunakan oleh tag body (posisi baris 25).

14

2

bootstrap.min.js

Digunakan oleh button class=”navbar-toogle”, untuk
memunculkan/menyembunyikan halaman navigasi (posisi
baris 28).

3

fontawesome.min.css

Digunakan oleh tag , (posisi
baris 38).

4
5

jquery-1.10.2.min.js
local.css

Digunakan untuk mendukung bootstrap.min.js
Digunakan oleh (posisi baris 91).

Urutan pengambilan resources seperti ditunjukkan pada Tabel 7,
mempengaruhi proses render pada halaman web. Jika pada HTTP 1.1, halaman
web dimuat dengan kerangka HTML terlebih dahulu, baru kemudian dihias
dengan CSS setelah HTML selesai ditampilkan. Proses menghias yang dimaksud
adalah pemberian warna, pengaturan bentuk tombol-tombol, dan efek tampilan
yang lain. Pada HTTP/2, resources ini, salah satunya CSS, didorong oleh server
ketika server mengenali bahwa resources tersebut segera dibutuhkan oleh HTML
untuk mengatur tampilan web. Bedanya adalah resource tersebut didorong tanpa
menunggu proses HTML selesai ditampilkan.
5.

Kesimpulan

Berdasarkan penelitian, pengujian dan analisis terhadap sistem, maka dapat
diambil kesimpulan sebagai berikut: (1) HTTP/2 lebih cepat dari HTTP/1.1 dalam
hal transfer rate, hal ini dipengarui oleh salah satunya, yaitu server push. Adanya
server push membantu mengurangi waktu tunggu yang dialami oleh browser.
Pada saat browser meminta halaman html, server membalas dengan mengirimkan
halaman html tersebut, kemudian server menyiapkan resource-resource
selanjutnya. Sehingga ketika browser melakukan request yang kedua untuk
meminta sebuah resource yang diperlukan oleh halaman html, server sudah
menyiapkan terlebih dahulu. Proses ini membantu mengurangi waktu request dari
browser. (2) Browser Google Chrome menunjukkan performa yang lebih baik
dari Mozilla Firefox baik pada HTTP 1.1 maupun HTTP/2. (3) Penggunaan
HTTP/2, meningkatkan kecepatan untuk download HTML pada browser Chrome
dengan kenaikan rata-rata 66.07%, sedangkan Firefox 13.43. Untuk file CSS,

15

Chrome naik sampai dengan 57.13%, sedangkan Firefox sampai dengan 22.66%.
Untuk file JavaScript, Chrome naik sampai dengan 48.65%, dan Firefox sampai
dengan 23.19%.

16

6.

Daftar Pustaka

[1].

IETF HTTP Working Group 2014. HTTP/2. https://http2.github.io/.
Diakses pada 2 Desember 2015.
[2]. Setyawan, A. B., Rahayu, A. & Sairin 2014. Analisis Perbandingan
Performance dan Keamanan Pada FTP Dan FTPS. Teknik Informatika
STMIK PalComTech Palembang
[3]. Goldberg, A., Buff, R. & Schmitt, A. 1998. A comparison of HTTP and
HTTPS performance. Computer Measurement Group, CMG98
[4]. Chowdhury, S. A., Sapra, V. & Hindle, A. 2015. Is HTTP/2 more energy
efficient than HTTP/1.1 for mobile users? PeerJ PrePrints 3, e1571.
[5]. Wilkins, S. 2011. Cisco’s PPDIOO Network Cycle. Cisco Press
[6]. LiteSpeed Technologies Inc 2015. Replace Apache with LiteSpeed Web
Server
in
15
minutes.
https://www.litespeedtech.com/index.php/products/litespeed-webserver/features/apache-drop-in-replacement. Diaskes 22 Oktorber 2015.
[7]. Belshe, M., Thomson, M. & Peon, R. 2015. Hypertext transfer protocol
version 2. https://tools.ietf.org/html/draft-ietf-httpbis-http2-01. Diakses 3
Desember 2015.
[8]. Dierks, T. & Rescorla, E. 2008. RFC 5246 - The transport layer security
(TLS) protocol - Version 1.2. In Network Working Group, IETF, pp. 1–
105.
[9]. IETF HTTP Working Group 2015. Does HTTP/2 require encryption?
https://http2.github.io/faq/#does-http2-require-encryption. Diakses pada 3
Desember 2015.
[10]. Stenberg, D. 2014. HTTP2 explained. Computer Communication Review
44, 120–128.
[11]. Gottsegen, G. 2015. Google Chrome Cuts Back on Memory Usage.
http://www.wired.com/2015/09/google-chrome-cuts-back-memory-usage/.
Diakses 6 Januari 2016.

17