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],
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.
Top Related