25
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 …repository.uksw.edu/bitstream/123456789/11282/2/T1...2 Perangkat lunak menggunakan Sistem Operasi Debian 7.4, Proftpd versi 1.3.4

  • Upload
    vophuc

  • View
    223

  • Download
    1

Embed Size (px)

Citation preview

Analisis Transfer Rate View HTTP Versi 1.1 dan HTTPVersi 2

Artikel Ilmiah

Peneliti:Suadarma Putra Sanjaya Engku (672010128)

Dian W. Chandra, S.Kom., M.Cs.

Program Studi Teknik InformatikaFakultas Teknologi Informasi

Universitas Kristen Satya WacanaSalatiga

2015

Analisis Transfer Rate View HTTP Versi 1.1 dan HTTPVersi 2

Artikel Ilmiah

Diajukan kepadaFakultas Teknologi Informasi

untuk memperoleh gelar Sarjana Komputer

Peneliti:Suadarma Putra Sanjaya Engku (672010128)

Dian W. Chandra, S.Kom., M.Cs.

Program Studi Teknik InformatikaFakultas Teknologi Informasi

Universitas Kristen Satya WacanaSalatiga

2015

Analisis Transfer Rate View HTTP Versi 1.1 dan HTTP Versi 2

1) Suadarma Putra Sanjaya Engku,

2) Dian W. Chandra

Fakultas Teknologi Informasi

Universitas Kristen Satya Wacana

Jl. Diponegoro 52-60, Salatiga 50711, Indonesia

Email: 1) [email protected],

2) [email protected]

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

1. Pendahuluan

Jaringan komputer dan internet mempermudah proses pertukaraninformasi. Hypertext Transfer Protocol (HTTP) adalah sebuah protokol jaringanlapisan aplikasi yang digunakan untuk sistem informasi terdistribusi, kolaboratif,dan menggunakan hipermedia. Penggunaannya banyak pada pengambilan sumberdaya yang saling terhubung dengan tautan, yang disebut dengan dokumenhiperteks, yang kemudian membentuk World Wide Web.

Teknologi web sudah berkembang pesat selama 25 tahun terakhir denganadanya CSS, Javascript dan video sehingga membuat tampilan website menjadilebih menarik dan interaktif. Akan tetapi teknologi protokol web tidak banyakberkembang. Protokol HTTP/1.1 yang paling banyak dipakai saat ini dirilis padatahun 1999 dan sudah ketinggalan jaman. Ini menyebabkan loading websiteinteraktif semakin lama semakin lambat dan membuat banyak developer webfrustrasi. Berbagai teknik dikembangkan seperti kompresi HTML, CSS,Javascript, caching, dll. Tapi semua itu hanya membuat repot dan tidak banyakmembantu. Lambatnya website semakin terasa, apalagi saat diakses melaluihandphone/mobile yang koneksi Internet-nya cenderung tidak stabil.

HTTP/2 adalah protokol web generasi terbaru yang baru saja diresmikanstandarnya oleh IETF. Tujuan utama dibuat HTTP/2 adalah memperbaikikelemahan yang ada di HTTP/1.1 dan membantu website bisa dimuat lebih cepatdan juga lebih aman. Kelemahan pada HTTP/1.1 salah satunya yaitu ketikabrowser meminta halaman, server akan mengirimkan dokumen HTML, dankemudian perlu menunggu browser untuk mengurai dokumen HTML danmenerbitkan request untuk semua aset tertanam, sebelum server dapat mulaimengirim JavaScript, gambar dan CSS. Teknologi server push pada HTTP/2memungkinkan 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 webserver ke browser melalui dua protokol yaitu HTTP/1.1 dan HTTP/2. Analisisdilakukan pada lingkungan terisolasi, yaitu menggunakan virtual machine(VirtualBox).

2. Tinjauan Pustaka

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

2

Perangkat lunak menggunakan Sistem Operasi Debian 7.4, Proftpd versi 1.3.4sebagai service dan OpenSSL versi 1.0.1, coreftp 2.2, wireshark 1.12.0 sertadidukung command linux yaitu top untuk melihat informasi seberapa besarsumber daya yang digunakan pada cpu dan memory. Hasil penelitian bahwamenunjukkan protokol FTP lebih cepat dalam mentransfer data dibandingkandengan protokol FTPS. Penggunaan sumber daya CPU dan memory terlihat sama.Saat transfer data protokol FTPS tidak begitu cepat akan tetapi dalam halkeamanan user dan password tidak mampu disadap oleh aplikasi wireshark.

Penelitian Setyawan dengan penelitian sekarang sama-sama menganalisiskecepatan transfer rate pada protokol yang memiliki fungsi yang sama. Setyawanmembandingkan protokol FTP dengan protokol FTPS. Penggunaan SSL pada FTPsehingga menjadi FTPS, memberikan efek pada menurunnya kecepatan transferrate, dibandingkan dengan FTP biasa. Pada penelitian sekarang, memilikiperbedaa yaitu, yang dibandingkan adalah dua protokol yaitu HTTP 1.1 denganHTTP/2.

Goldberg melakukan perbandingan antara HTTP dengan HTTPS [3].Penelitian tersebut membandingkan kinerja komunikasi web terenkripsi dan non-enkripsi. Penelitian tersebut menyajikan pengukuran pada enkripsi web yangpaling banyak digunakan yaitu Secure HyperText Transport Protocol (HTTPS)pada Secure Sockets Layer (SSL) versi 3.0 dengan enkripsi 40 bit dan 128 bitRC4. Enkripsi meningkatkan waktu respon sampai dengan 22%, dari dua Webserver, Netscape Enterprise Server 3.5.1 dan Microsoft IIS 4.0. Perbedaanpenelitian Goldberg dengan penelitian saat ini ada pada obyek analisis. Goldbergmembandingkan HTTP 1.1 dengan HTTPS (SSL pada HTTP 1.1). Penelitiansekarang membandingkan HTTP 1.1 dengan HTTP/2. Pada kedua protokoltersebut dikonfigurasi untuk menggunakan SSL.

Chowdhury, Sapra, dan Hindle [4] melakukan penelitian untukmembandingkan konsumsi energi oleh pengguna perangkat mobile dalam halmengakses HTTP/1.1 dan HTTP/2. Pengguna perangkat mobile mulaimenunjukkan peningkatan dalam mengakses Internet, yang merupakan kegiatanyang membutuhkan energi dan biaya yang mahal. Penelitian tersebut memberikankesimpulan yaitu HTTP/2 mengkonsumsi energi lebih rendah dari padaHTTP/1.1. Hal ini dikarenakan karena RTT (round trip time) pada HTTP/2 lebihsedikit daripada HTTP/1.1. RTT adalah waktu yang diperlukan oleh browseruntuk meminta resource ke server, ditambah waktu oleh server untuk mengirimresource yang diminta, ke browser. Penelitian tesebut juga menyebutkan bahwaadanya server push membantu mengurangi RTT (latency).

Penelitian Chowdhury, Sapra dan Hindle memiliki kesamaan denganpenelitian sekarang, dalam hal menganalisis perbedaan HTTP/1.1 denganHTTP/2. Perbedaan dengan penelitian ini, yaitu pada penelitian Chowdhury,dibahas mengenai konsumsi energi pada perangkat mobile untuk mengakseskedua protokol tersebut. Pada penelitian ini, dianalisis pada sisi transfer rate.

Berdasarkan penelitian-penelitian yang telah dilakukan mengenaiperbandingan protokol transfer rate secure dan non-secure, perbandingan HTTP

3

secure dan non-secure, dan penelitian tentang HTTP/2, maka dilakukan penelitianmengenai perbandingan HTTP 1.1 dengan HTTP/2. Perbandingan dilakukan padakecepatan transfer rate dan pada teknologi server push yang ada pada HTTP/2.

HTTP /2 adalah versi berikutnya dari HTTP dan didasarkan pada GoogleSPDY, yang dirancang untuk mempercepat loading halaman web dan pengalamanbrowsing. HTTP/2 adalah standar baru dan akan mengambil alih protokolHTTP1.1 yang saat ini digunakan oleh sebagian besar situs di internet. HTTP /2adalah protokol yang lebih modern yang bisa meningkatkan kecepatan browsingweb dengan menggunakan cara-cara baru transportasi data antara browser danserver di internet. HTTP/2 kompatibel dengan HTTP1.1 dan menggunakansebagian besar teknologi yang sama, tetapi lebih efisien dan memungkinkanserver untuk merespon dengan lebih banyak konten daripada yang diminta,menghilangkan kebutuhan komputer pengguna terus mengirim permintaaninformasi lebih lanjut sampai situs benar-benar ditampilkan [1].

3. Metode dan Perancangan Sistem

Penelitian yang dilakukan, diselesaikan melalui tahapan metode PPDIOOyang dikembangkan oleh Cisco System [5]. Siklus hidup metode PPDIOOditunjukkan pada Gambar 1.

Tahap pertama: yaitu melakukan analisis masalah dan mengumpulkanliterature. Pada tahap awal ini, ditentukan masalah yang dianalisis. Padapenelitian ini, secara garis besar, masalah yang diteliti adalah: (1) Bagaimanamembangun 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 kelebihanfitur Server Push yang dapat dirasakan bagi pengembang web maupunpengguna web. Penelitian-penelitian terdahulu yang dicari harus dapat menjadiacuan bagi penelitian ini. Penelitian terdahulu diharapkan dapat memberikanpanduan, hal yang perlu, maupun tidak perlu dilakukan dalam melakukan analisisHTTP/2.

Gambar 1 Siklus PPDIOO

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

4

server, perlu juga diinstal SSL, yang akan digunakan pada HTTPS. Fitur inidiperlukan untuk mengaktifkan layanan HTTP/2. Sistem yang dirancang memilikikebutuhan yang terbagi menjadi kebutuhan perangkat keras, dan kebutuhanperangkat lunak.

Tabel 1 Kebutuhan Perangkat KerasNo Fungsi Perangkat Keras Jumlah

1 Web Server Komputer Server 1

2 Client PC Komputer Desktop/Laptop yangterkoneksi ke Server

1

Tabel 2 Kebutuhan Perangkat Lunak ServerNo Fungsi Software

1 Web Server dengan dukunganHTTP/2

LiteSpeed Web Server5.0

2 SSL OpenSSL

3 Sistem Operasi Ubuntu Server 15

Tabel 3 Kebutuhan Perangkat Lunak ClientNo Fungsi Software

1 Browser Mozilla Firefox 43.0Google 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 operasiUbuntu Server 15. Ubuntu Server lebih ringan dari pada Ubuntu Desktop, karenatidak adanya GUI. Sehingga tidak membutuhkan ruang instalasi dan memori kerjayang besar. Ubuntu dipilih karena open source, dan memiliki dokumentasi yangbaik.

Web server yang pilih harus mendukung HTTP 1.1 dan HTTP/2, mudahdiinstal dan dikonfigurasi. Karena server yang digunakan adalah Linux Ubuntu,maka pilihan dipersempit pada web server yang dapat diinstal pada systemoperasi Linux. LiteSpeed dipilih karena menyediakan versi Standard Edition(free for private and commercial use). LiteSpeed mendukung bahasapemrograman PHP. LiteSpeed dapat menggunakan httpd.conf dan .htaccess milikApache, sehingga mempermudah proses migrasi dari web server Apache [6].

Browser yang digunakan adalah keseluruhan browser yang menjadipilihan pada Tabel 3. Browser tersebut diinstal pada komputer client, dengansistem operasi Windows 7.

5

Tahap ketiga merupakan langkah untuk merancang sistem. Sistemyang dirancang merupakan bentuk hubungan client-server. Rancanganarsitektur sistem ditunjukkan pada Gambar 2.

Gambar 2 Arsitektur SistemTahap Keempat: yaitu mengimplementasikan rancangan yang telah dibuat

di tahap dua ke dalam sebuah aplikasi/program sesuai kebutuhan sistem. Prosesinstalasi pada server dilakukan dengan tahapan yang dimulai dengan instalasiUbuntu, kemudian instalasi LiteSpeed Web Server (LSWS). Setelah LSWSberhasil dijalankan, maka perlu dilakukan instalasi OpenSSL, dan fitur SSL padaLSWS perlu diaktifkan. Langkah mengaktifkan SSL pada LSWS disediakan padawebconsole. Selanjutnya adalah mengaktifkan HTTP/2, dilakukan juga melaluiwebconsole. 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 telahdibuat, serta menganalisis hasil pengujian tersebut. Hasil analisis diharapkandapat menjadi acuan dan pertimbangan dalam menggunakan HTTP/2 Server Push.Skenario pengujian dimulai dari mengaktifkan server. Jika web server diinstaldengan menggunakan user “root”, maka web server akan otomatis aktif ketikakomputer server aktif. Jika web server diinstal dengan user bukan root, makaperlu 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 menggunakanmenu “Developer tools (Ctrl + Shift + i)” dilakukan analisis kecepatantransfer 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 menggunakanresources CSS dan JavaScript. Kemudian website tersebut diakses melalui HTTP1.1 dan HTTP/2. Pada setiap akses, dicatat waktu transfer rate yang diterima padabrowser. Browser yang digunakan untuk pengujian adalah Mozilla Firefox danGoogle Chrome.

Sesuai dengan draft spesifikasi HTTP/2 [7], semua webserver yangmengimplemetasikan HTTP/2 diharuskan untuk menggunakn TLS versi 1.2

6

keatas. TLS (Transport Layer Security) adalah penerus dari SSL, dan padaumumnya dianggap sebagai ‘SSL’ [8]. Proses instalasi SSL memerlukan privatekey 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 mengaksesHTTP/2 dilakukan melalui port 443, yaitu HTTPS. Semua browser saat ini yangmendukung HTTP/2, mewajibkan adanya fitur enkripsi [9] (IETF HTTP WorkingGroup, 2015). Setelah instalasi SSL, maka dapat diaktifkan fitur HTTPS. Secaradefault port yang digunakan adalah 443.

Gambar 5 Mengaktifkan HTTP/2

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

7

Gambar 6 Halaman web yang digunakan sebagai pengujian

Gambar 7 Struktur direktori web yang digunakan sebagai pengujian

Pengujian pertama dilakukan dengan menggunakan browser MozillaFirefox. Analisis dilakukan dengan menggunakan fitur “Developer Tool”(Gambar 8). Penggunaan analisis transfer rate dengan menggunakan DeveloperTool, 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 tertulispada dokumen html. Setelah dokumen index.html, yang didorong (push) dariserver 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 terjadikarena resource diambil dari server urut sesuai dengan baris perintah yangterdapat di dalam tag <head>.

8

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 headertersebut juga ditampilkan informasi mengenai versi protocol, yaitu HTTP/1.1.

Analisis transfer rate dari web server ke browser dilakukan sebanyak 30kali, dengan menggunakan Developer Tool seperti ditunjukan pada Gambar 10.Hasil pengujian ditunjukkan pada Tabel 4. S berarti Send, W berarti Waiting, danR berarti Receiving.

Gambar 10 Kecepatan Transfer Pada Browser

Gambar 11 Penggunaan Memori oleh Firefox dalam Mengakses HTTP 1.1

9

Firefox menggunakan memory (Gambar 11) sebesar 132.276 KB untukmengakses web dalam protokol HTTP/1.1. Website yang sama kemudian diaksesmelalui protokol HTTP/2 dengan browser Mozilla Firefox. Hasil analisis melaluiNetwork 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. Analisistransfer rate dari web server ke browser dilakukan sebanyak 30 kali denganmenggunakan developer tool (Gambar 14). Hasil pengujian ditunjukkan padaTabel 4.

Gambar 14 Kecepatan Transfer Pada Browser

10

Gambar 15 Penggunaan Memory oleh Mozila Firefox untuk Mengakses HTTP/2Firefox 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 FileHTTP 1.1 HTTP/2

Send (ms) Waiting(ms)

Receive(ms) Send (ms) Waiting

(ms)Receive

(ms)

1. Index.html 38.50 17.50 16.47 28.77 4.53 3.602. 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.074. Local.css 15.53 23.87 23.70 1.23 12.13 3.875. 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 kecildari pada HTTP 1.1. Hal ini dikarenakan resource-resource tersebut (selainindex.html), didorong oleh server, bahkan sebelum client (browser) memintaresource tersebut. Proses ini hanya terjadi pada HTTP/2 karena adanya teknologiserver push [10]. Server push juga membantu mengurangi waktu tunggu server,karena server tidak perlu menunggu request dari browser untuk mengirimkanresource [4]. Receive time pada HTTP/2 juga menurun nilainya, hal inidisebabkan 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

11

Gambar 17 Penggunaan Memory oleh Google Chrome untuk Mengakses HTTP 1.1

Chrome menggunakan memory sebesar 109.216 KB untuk mengaksesweb 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

12

Chrome menggunakan memory sebesar 98168 KB untuk mengakses webdalam 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 FileHTTP 1.1 HTTP/2

Send(ms)

Waiting(ms)

Receive(ms)

Send(ms)

Waiting(ms)

Receive(ms)

1. Index.html 0.34 16.09 3.59 0.16 4.30 2.332. Bootstrap.min.css 0.22 17.41 11.31 0.17 6.77 5.473. Font-awesome.min.css 0.23 20.85 11.75 0.20 11.40 4.984. Local.css 0.21 19.68 13.46 0.18 11.87 3.775. Jquery-1.10.2.min.js 0.22 21.81 13.78 0.22 13.76 4.416. 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 kecildari pada HTTP/1.1. Hal ini dikarenakan resource-resource tersebut (selainindex.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 ketikabrowser meminta sebuah resource, server sudah mempersiapkannya terlebihdahulu [4]. Receive time pada HTTP/2 juga menurun nilainya, hal ini disebabkankarena adanya teknologi header compression [4].

Meminta index.html Mencari file index.html

Browser Server

Menampilkanindex.html

Mengirimkan fileindex.html

Meminta filebootstrap.min.css

Menampilkanbootstrap.min.css

Meminta file Font-awesome.min.css

Menampilkan file Font-awesome.min.css

Mencari filebootstrap.min.cssl

Mengirimkan filebootstrap.min.css

Mencari file Font-awesome.min.css

Mengirimkan file Font-awesome.min.css

dst

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

13

Meminta index.html Mencari file index.html

Browser Server

Menampilkanindex.html

Mengirimkan fileindex.html

Meminta filebootstrap.min.css

Menampilkanbootstrap.min.css

Meminta file Font-awesome.min.css

Meminta file Font-awesome.min.css

dst

Menyiapkan fileBootstrap.min.css

Font-awesome.min.cssLocal.css

Jquery-1.10.2.min.jsBootstrap.min.js

Mengirimkan filebootstrap.min.css

Mengirimkan file Font-awesome.min.css

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

Gambar 21 dan Gambar 22 menunjukkan perbandingan pengambilanresource antara HTTP/1.1 dengan HTTP/2. Pada HTTP/2, setelah servermengirimkan index.html, server mempersiapkan file-file antrian yang selanjutnyaakan diminta oleh browser. Sehingga ketika browser meminta pada server, serversudah siap dengan file yang akan dikirimkan selanjutnya. Proses ini membantumengurangi waiting time pada server, yang dirasakan oleh browser.

Pada perbandingan penggunaan memory (RAM). Chrome menunjukkanpenggunaan memory yang lebih kecil dari pada Firefox. Versi kedua browsertersebut adalah Chrome Version 47.0.2526.111 dan Firefox 43.0.1. Sebelum versi45, Chrome menggunakan memory yang cukup besar, lebih besar daripenggunaan memory oleh Firefox. Sejak versi 45, Chrome mampu menghematsampai dengan 25% penggunaan memory [11]. Sehingga pada hasil pengujianperbandingan penggunaan memory, Chrome cenderung lebih kecil daripadaFirefox.

Tabel 6 Rata-rata kecepatan dan Efisiensi ProtokolNo File Google Chrome Mozilla Firefox

HTTP1.1 HTTP/2 Efisiensi HTTP1.1 HTTP/2 Efisiensi

1. Index.html 20.01 6.79 66.07% 72.47 62.73 13.43%

2. Bootstrap.min.css 28.93 12.40 57.13% 42.37 42.30 0.16%

3. Font-awesome.min.css 32.83 16.58 49.50% 61.37 47.50 22.60%

4. Local.css 33.34 15.82 52.56% 63.10 48.80 22.66%

5. Jquery-1.10.2.min.js 35.80 18.38 48.65% 66.27 50.90 23.19%

6. Bootstrap.min.js 31.42 20.88 33.53% 65.70 50.67 22.88%

14

Berdasarkan pengujian pada kedua browser, terjadi perbedaan urutanpenampilan resource (Gambar 23) di Google Chrome, baik pada protocolHTTP/1.1 maupun HTTP/2. Sedangkan pada Mozilla Firefox, tidak terjadidemikian. Mozilla Firefox secara konsisten, menampilkan urutan resource yangdiperoleh dari server. Pengujian dilakukan sebanyak 120 kali, terdiri dari 30 kaliuntuk Google Chrome pada HTTP/1.1, 30 kali untuk Google Chrome padaHTTP/2, 30 kali untuk Mozilla Firefox pada HTTP/1.1 dan 30 kali HTTP/2.Sehingga dapat disimpulkan bahwa urutan resource ini bukan dipengaruhi olehserver, 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 manayang dibutuhkan terlebih dahulu. Setelah dokumen index.html, yang didorong(push) dari server adalah dengan urutan ditunjukkan pada Tabel 7.

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

15

2 bootstrap.min.js Digunakan oleh button class=”navbar-toogle”, untukmemunculkan/menyembunyikan halaman navigasi (posisibaris 28).

3 font-awesome.min.css

Digunakan oleh tag <i class=”fa fa-bullseye”></i>, (posisibaris 38).

4 jquery-1.10.2.min.js Digunakan untuk mendukung bootstrap.min.js5 local.css Digunakan oleh <div id="page-wrapper"> (posisi baris 91).

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

5. Kesimpulan

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

16

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

17

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 PerbandinganPerformance dan Keamanan Pada FTP Dan FTPS. Teknik InformatikaSTMIK PalComTech Palembang

[3]. Goldberg, A., Buff, R. & Schmitt, A. 1998. A comparison of HTTP andHTTPS performance. Computer Measurement Group, CMG98

[4]. Chowdhury, S. A., Sapra, V. & Hindle, A. 2015. Is HTTP/2 more energyefficient 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-web-server/features/apache-drop-in-replacement. Diaskes 22 Oktorber 2015.

[7]. Belshe, M., Thomson, M. & Peon, R. 2015. Hypertext transfer protocolversion 2. https://tools.ietf.org/html/draft-ietf-httpbis-http2-01. Diakses 3Desember 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 3Desember 2015.

[10]. Stenberg, D. 2014. HTTP2 explained. Computer Communication Review44, 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.