Teknologi kian hari kian meningkat seiring perkembangan zaman. Tak luput pula berkembangnya teknologi pada HTTP (Hypertext Transfer Protocol). HTTP ini adalah 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.
HTTP/2 memegang peranan penting bagi masa depan Internet yang menawarkan akses lebih cepat dan aman berkat teknologi kompresi dan enkripsi yang lebih efisien. Perbedaan mendasar HTTP 1.1 dengan HTTP/2 terletak pada cara kerjanya, dimana HTTP 1.1 hanya menggunakan satu koneksi ketika menampilkan suatu halaman situs, sehingga elemen resource seperti file HTML, file CSS, gambar dan file JavaScript yang terdapat dalam situs tersebut diminta secara satu persatu.
Kelebihan HTTP/2
- Mengurangi latensi hingga dapat mempercepat loading speed di browser.
- Kompatibel dengan HTTP 1.1 karena dibangun berdasarkan HTTP 1.1
Kebutuhan:
Memiliki sertifikat SSL, bisa Anda baca:- http://www.linuxku.com/2016/08/membuat-sertifikat-self-signed-ssl_4.html
- http://www.linuxku.com/2016/07/memasang-ssl-lets-encrypt-untuk-apache.html
Dalam artikel di sini penulis tidak menjelaskan panjang lebar mengenai HTTP/2 kelebihan berserta manfaatnya, fokus tulisan di sini yakni tentang cara menerapkan HTTP/2 pada Nginx. Untuk informasi lebih jauh mengenai HTTP/2 ini, Anda bisa baca referensi di bawah pada subjudul "Sumber".
Menerapkan Nginx dengan HTTP/2
Perlu diketahui bahwa penulis di sini tidak menyertakan untuk pengguna Ubuntu 14.04 atau ke bawahnya, hanya untuk versi Ubuntu 16.04. Meskipun di Ubuntu 14.04 bisa Anda gunakan Nginx mainline tapi penulis tidak menyarankan. Di Ubuntu 16.04, Nginx memasuki versi 1.10.x ini artinya Anda bisa menggunakan fasilitas module HTTP2 dari Nginx.Langsung saja, untuk pengguna Ubuntu 16.04, bisa langsung pada Nginx dari official repository:
$ sudo apt install nginx
Untuk pengguna Centos 6/7, Anda perlu menambahkan lumbung (repository).$ sudo nano /etc/yum.repos.d/nginx.repo
Lalu masukan:[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
Kemudian lansung install Nginx tersebut:$ sudo yum install nginx
Untuk pengguna Ubuntu 16.04, masuk ke direktori /etc/nginx/sites-available/ di sesuaikan dengan Virtualhost Anda. Penulis asumsikan di vhost default:
$ sudo nano /etc/nginx/sites-available/default
Untuk pengguna Centos 6/7, masuk ke direktori /etc/nginx/$ sudo nano /etc/nginx/nginx.conf
Lebih lanjut Anda bisa baca pada tulisan sebelumnya:
http://www.linuxku.com/2016/05/menerapkan-virtualhost-untuk-keperluan.html
Langkah selanjutnya untuk seluruhnya (Ubuntu maupun Centos) masukan skrip seperti contoh di bawah ini:
server {
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
ssl_certificate cert.pem;
ssl_certificate_key cert.key;
ssl_prefer_server_ciphers on;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_stapling on;
ssl_stapling_verify on;
add_header Strict-Transport-Security max-age=15768000;
}
Kemudian cek konfigurasi Nginx Anda apakah sudah benar atau belum? Dengan cara:$ sudo nginx -tJika terdapat pesan berikut:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Jika sudah sukses langsung saja Anda restart Nginx tersebut:
$ sudo service nginx restart
Untuk mengetahui apakah situs Anda sudah menggunakan HTTP/2 atau belum bisa gunakan tool di bawah ini:
https://tools.keycdn.com/http2-test
Contohnya pada https://situsali.com, sudah menggunakan HTTP/2
Untuk linuxku.com memang belum menggunakan teknologi HTTP/2, karena website ini menggunakan blogspot.
Semoga bermanfaat :)
Sumber:
- http://blog.arijulianto.com/2015/09/teknologi-baru-web-www-http-2.html
- http://internetsehat.id/2015/02/setelah-16-tahun-selamat-datang-http2/
- http://selular.id/news/2015/11/dibandingkan-http-1-1-apa-keunggulan-internet-protocol-http2/
- https://www.digitalocean.com/community/tutorials/how-to-set-up-nginx-with-http-2-support-on-ubuntu-16-04
- http://serverfault.com/questions/730810/installing-nginx-1-9-on-centos7-vps
- http://stackoverflow.com/questions/28524512/which-web-servers-support-http-2
- https://bjornjohansen.no/enable-http2-on-nginx
- https://blog.cloudflare.com/open-sourcing-our-nginx-http-2-spdy-code/
Website ini menganut paham demokrasi wkwk
Jangan lupa gunakan emot biar akrab gan (/ ^.^)/
EmoticonEmoticon