101 Switching Protocols Adalah: Cara Kerja dan Contohnya

Status kode 101 switching protocols adalah informasi yang cukup umum dalam sebuah situs web. Terutama yang memiliki halaman pengalihan menuju protokol lain.

Ya, 101 status code memang bersifat sebagai respons informasi, dan bukan menunjukkan terjadinya masalah terhadap situs web.

Anda dapat melihat kategori mana saja yang bersifat informasi, masalah/kendala, dan sebagainya di daftar HTTP status code terlebih dulu.

Secara definitif, 101 switching protocols adalah informasi bahwa server menerima pengalihan ke protokol lain yang diminta dari sisi pengguna (klien).

Dalam penerapannya, meminta server untuk mengalihkan HTTP ke protokol yang lebih baru dapat meningkatkan kecepatan akses hingga mempersingkat waktu latensi server.

Meski begitu ada dampak buruk walaupun secara tidak langsung yang dapat terjadi apabila website menerapkan permintaan upgrade ke protokol yang lebih baru. Atau ke protokol yang memang sudah ditentukan dari sisi client-agent.

Cara Kerja 101 Switching Protocols

Cara-Kerja-101-Switching-Protocols

Setelah mengetahui secara garis besar pengertian 101 status code, lantas bagaimana jika server menolak permintaan beralih ke protokol lain?

Jika server menolak karena alasan keamanan agar tetap menggunakan HTTPS misalnya, maka akan mengirimkan respons berupa status kode masih menggunakan protokol saat ini.

Namun pada kasus lain, situs web yang menggunakan protokol versi lama, HTTP/1.1 misalnya. Dan untuk mengaksesnya membutuhkan protokol terkini seperti HTTP/2 atau HTTP/3, maka server akan mengirimkan status kode 426 upgrade required.

Cara kerja 101 switching protocols sebenarnya sederhana, yaitu mengalihkan dari protokol saat ini ke protokol baru sesuai dengan permintaan klien.

Mungkin Anda akan menemukan beberapa situs web yang hanya mendukung penggunaan protokol HTTP/2 atau HTTP/3 yang lebih baru. Sehingga membutuhkan pengalihan ini untuk bisa mengakses situs web tersebut.

Contoh 101 Switching Protocols ke HTTP/2 atau HTTP/3

Melalui sisi client-agent, klien dapat meminta untuk meningkatkan koneksi dari HTTP saat ini ke protokol yang lain menggunakan:

Connection: upgrade

Contoh penerapan 101 status code di sini misalnya klien menginginkan koneksi lebih aman menggunakan protokol HTTPS, maka bisa menggunakan:

GET /index.html HTTP/1.1

Host: www.garuda.website

Connection: upgrade

Upgrade: HTTPS

Perlu Anda catat bahwa mungkin server tidak menyediakan koneksi aman HTTPS untuk situs web tersebut.

Sehingga dengan kata lain, permintaan peralihan protokol artinya bersifat opsional dan tidak bisa Anda paksakan.

Contoh lain saat klien meminta akses melalui koneksi yang lebih baru untuk koneksi lebih lancar, misalnya ke HTTP/2, maka bisa menggunakan:

GET /index.html HTTP/1.1

Host: www.garuda.website

Connection: upgrade

Upgrade: HTTP/2

Atau klien ingin meminta beralih dari HTTP ke beberapa opsi protokol lain yang tersedia sekaligus, bisa menggunakan penambahan koma untuk protocol-name dan protocol-version, contohnya:

GET /index.html HTTP/1.1

Host: www.garuda.website

Connection: upgrade

Upgrade: HTTPS, HTTP/2, HTTP/3

Berdasarkan konfigurasi peralihan protokol di atas, HTTP menunjukkan protocol-name, dan /2 atau /3 menunjukkan protocol-version.

Jika server menerima permintaan beralih ke protokol tertentu, maka akan muncul result 101 switching protocols sebagai berikut:

HTTP/1.1 101 Switching Protocols

Upgrade: HTTP/2

Connection: upgrade

Arti status kode yang muncul artinya protokol HTTP sebelumnya sudah beralih ke HTTP/2 lebih baru. Peralihan ini berlaku seterusnya saat mengakses situs web.

Contoh Switching Protocols ke WebSocket

Sebagaimana sama-sama kita pahami, WebSocket adalah protokol untuk membuat koneksi antara klien dan server, dalam hal ini client-agent melalui browser dan server web.

Untuk meminta pengalihan dari protokol HTTP ke WebSocket dari sisi klien, Anda dapat menggunakan:

GET /index.html HTTP/1.1

Host: www.garuda.website

Connection: upgrade

Upgrade: websocket

Jika server menyetujui permintaan tersebut, maka akan muncul 101 status code yang menunjukkan protokol sudah beralih ke WebSocket:

HTTP/1.1 101 Switching Protocols

Upgrade: websocket

Connection: upgrade

Secara umum, switching protocols memang dari HTTP/1.1 ke HTTPS, HTTP/1.1 ke HTTP/2, HTTP/1.1 ke HTTP/3, atau HTTP/1.1 ke WebSocket.

Tetapi tidak menutup kemungkinan menggunakan mekanisme peralihan lain seperti ALPN atau TLS/SSL handshake.

Artikel terkait :

Dampak Melakukan Switching Protocols

Melihat kembali bahwa 101 status code bukanlah masalah/kendala, tetapi bersifat informatif. Maka sebenarnya hal ini tidak memiliki dampak buruk pada SEO situs web.

Namun, beberapa hal mungkin berpengaruh walaupun secara tidak langsung. Seperti halnya user experience, kecepatan halaman, dan beban server meningkat.

User experience yang paling merasakan perubahan 101 error code adalah real-time chat. Karena kemungkinan obrolan tersebut langsung gagal.

Sedangkan kecepatan halaman menjadi lebih lama apalagi permintaan switching protocols gagal atau tidak diterima oleh server.

Kemudian jika terlalu banyak peralihan ke WebSocket, akan memberi beban lebih banyak dari sisi server.

Sehingga dampaknya memang tidak seketika langsung muncul. Namun kalau dibiarkan terus-menerus tanpa penanganan berkelanjutan, SEO situs web juga ikut menurun (meski tidak signifikan).

Kesalahan konfigurasi 101 mungkin juga terjadi, sehingga harus berhati-hati dalam menerapkannya. Seperti kesalahan header tidak valid, jaringan, versi protokol tidak kompatibel, atau peningkatan protokol tidak didukung.

Maka dari itulah, dalam melakukan pengalihan 101 switching protocols harus berhati-hati agar situs web tetap memberi pengalaman pengguna yang optimal.

Tinggalkan Komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Scroll to Top