Bagaimana Server Web Memetakan URL ke File dan Menjalankan Skrip Dinamis

6

Kebanyakan orang menganggap server web sebagai kotak hitam ajaib yang memunculkan halaman begitu saja. Tidak. Pada intinya, pekerjaan ini ternyata biasa-biasa saja. Server web mengambil file dari disk dan memasukkannya ke browser Anda. Itu saja. Sederhana. Langsung.

Mari kita telusuri apa yang terjadi saat Anda mengetikkan URL ke bilah alamat. Bayangkan Anda memasukkan http://www.bygpub.com/books/tg2rw/author.htm. Server menerima permintaan untuk jalur spesifik /books/tg2rw/author.htm. Jika Anda dapat mengintip ke dalam konfigurasi server, Anda akan melihat direktori root yang ditentukan selama penyiapan, seperti c:\My Documents\www. Server tidak mencari /books/tg2rw/author.htm di seluruh hard drive. Ia mencari jalur itu relatif ke root. Jadi ini menggabungkan keduanya: c:\My Documents\www + /books/tg2rw/author.htm. Ia menemukan file tersebut. Ini mengirimkannya. Selesai.

Namun apa jadinya jika URL diakhiri dengan garis miring? Suka http://www.bygpub.com/books/tg2rw/?

Server memahami ini sebagai permintaan direktori, bukan permintaan file. Dibutuhkan file default untuk disajikan. Ia tidak menebak secara acak. Ini mengikuti hierarki yang ketat. Tampaknya index.html. Jika tidak ada, ia mencoba index.htm. Jika gagal, ia akan memeriksa default.html. Terakhir, ia mencoba default.htm. Daftar persisnya bergantung pada perangkat lunak server, namun logikanya konsisten. Server secara diam-diam mengubah URL direktori menjadi URL file, menambahkan kecocokan pertama yang ditemukannya. Sehingga permintaan direktori menjadi http://www.bygpub.com/books/tg2rw/index.htm. Anda tidak pernah melihat perubahan nama file. Anda hanya melihat halaman dimuat. Setiap file lain di direktori itu mengharuskan Anda memberi nama secara eksplisit. Ini adalah dasar untuk menangani file statis.

Selain File Statis: Peran CGI

File statis hanyalah separuh cerita. Kebanyakan server web modern juga menangani file dinamis. Mereka tidak membuat halaman-halaman ini dengan cepat dari awal; mereka menyerahkan permintaan tersebut ke program eksternal. Mekanisme ini disebut Common Gateway Interface, atau CGI.

Anda telah menggunakan CGI berkali-kali tanpa menyadarinya. Ini adalah mesin di balik halaman web mana pun yang berubah berdasarkan masukan Anda. Perhatikan contoh berikut:

  • Buku tamu : Anda memasukkan pesan dalam bentuk HTML. Server tidak hanya mengirimkan halaman yang telah ditulis sebelumnya. Ini menjalankan skrip yang menambahkan teks Anda ke database atau file, kemudian menghasilkan halaman baru yang menampilkan entri Anda.

  • Pencarian WHOIS : Anda mengetikkan nama domain ke dalam formulir. Halaman yang Anda dapatkan kembali bergantung sepenuhnya pada domain yang Anda masukkan. Server tidak menyajikan file statis; itu meminta program untuk mengambil data langsung.

  • Mesin pencari : Anda mengetikkan kata kunci. Server menjalankan kueri, memindai indeks, dan secara dinamis membuat halaman hasil yang disesuaikan dengan pencarian Anda.

Semua interaksi ini bergantung pada CGI. Server web bertindak sebagai operator, meneruskan data formulir pengguna ke suatu program, kemudian mengirimkan keluaran program kembali ke browser Anda. Pemisahan ini memungkinkan server menangani logika kompleks tanpa terjebak di dalamnya