• Tidak ada hasil yang ditemukan

Bab ini merupakan bagian terakhir dari laporan tugas akhir yang berisi kesimpulan dari uji coba dan saran-saran yang diambil dari kelemahan aplikasi untuk pengembangan lebih lanjut dari sistem yang telah dibuat oleh penulis.

DAFTAR PUSTAKA

Pada bagian ini akan dipaparkan sumber-sumber literature yang digunakan dalam pembuatan laporan tugas akhir ini.

2.1 PHP

PHP adalah bahasa pemrograman script yang paling banyak dipakai saat ini. PHP banyak dipakai untuk memrogram situs web dinamis, walaupun tidak tertutup kemungkinan digunakan untuk pemakaian lain. Contoh terkenal dari aplikasi PHP adalah phpBB dan MediaWiki (software di belakang Wikipedia). PHP juga dapat dilihat sebagai pilihan lain dari ASP.NET/C#/VB.NET Microsoft, ColdFusion Macromedia, JSP/Java Sun Microsystems, dan CGI/Perl. Contoh aplikasi lain yang lebih kompleks berupa CMS yang dibangun menggunakan PHP adalah Mambo, Joomla!, Postnuke, Xaraya, dan lain-lain. Pada awalnya PHP merupakan kependekan dari Personal Home Page (Situs Personal). PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada waktu itu PHP masih bernama FI (Form Interpreted), yang wujudnya berupa sekumpulan script yang digunakan untuk mengolah data form dari web. Selanjutnya Rasmus merilis kode sumber tersebut untuk umum dan menamakannya PHP/FI. Dengan perilisan kode sumber ini menjadi open source, maka banyak programmer yang tertarik untuk ikut mengembangkan PHP. Pada November 1997, dirilis PHP/FI 2.0. Pada rilis ini interpreter PHP sudah diimplementasikan dalam program C. Dalam rilis ini disertakan juga modul-modul ekstensi yang meningkatkan kemampuan PHP/FI secara signifikan. Pada tahun 1997, sebuah perusahaan bernama Zend menulis ulang interpreter PHP menjadi lebih bersih, lebih baik, dan lebih cepat. Kemudian pada Juni 1998, perusahaan tersebut merilis interpreter baru untuk PHP dan

meresmikan rilis tersebut sebagai PHP 3.0 dan singkatan PHP dirubah menjadi akronim berulang PHP: Hypertext Preprocessing. Pada pertengahan tahun 1999, Zend merilis interpreter PHP baru dan rilis tersebut dikenal dengan PHP 4.0. PHP 4.0 adalah versi PHP yang paling banyak dipakai pada awal abad ke-21. Versi ini banyak dipakai disebabkan kemampuannya untuk membangun aplikasi web kompleks tetapi tetap memiliki kecepatan dan stabilitas yang tinggi.

Pada Juni 2004, Zend merilis PHP 5.0. Dalam versi ini, inti dari interpreter PHP mengalami perubahan besar. Versi ini juga memasukkan model pemrograman berorientasi objek ke dalam PHP untuk menjawab perkembangan bahasa pemrograman ke arah paradigma berorientasi objek. kelebihan PHP dari bahasa pemrograman lain :

a. Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak melakukan sebuah kompilasi dalam penggunaanya.

b. Web Server yang mendukung PHP dapat ditemukan dimana - mana dari mulai apache, IIS, Lighttpd, nginx, hingga Xitami dengan konfigurasi yang relatif mudah.

c. Dalam sisi pengembangan lebih mudah, karena banyaknya milis - milis dan developer yang siap membantu dalam pengembangan.

d. Dalam sisi pemahamanan, PHP adalah bahasa scripting yang paling mudah karena memiliki referensi yang banyak.

e. PHP adalah bahasa open source yang dapat digunakan di berbagai mesin (Linux, Unix, Macintosh, Windows) dan dapat dijalankan secara runtime melalui console serta juga dapat menjalankan perintah-perintah system.

PHP memiliki 7 tipe data yaitu :

1. Integer

Nilai sebuah data dari sebuah tipe data integer adalah nilai bilangan bulat tersebut dalam matematika. Representasi data ini merupakan cara bagaimana nilainya disimpan di dalam memori komputer. Tipe data integral terbagi menjadi dua buah kategori, baik itu bertanda (signed) ataupun tidak bertanda (unsigned). Bilangan bulat bertanda mampu merepresentasikan nilai bilangan bulat negatif, sementara bilangan bulat tak bertanda hanya mampu merepresentasikan bilangan bulat positif. Representasi integer positif di dalam komputer sebenarnya adalah untaian bit, dengan menggunakan sistem bilangan biner. Urutan dari bit-bit tersebut pun bervariasi, bisa berupa Little Endian ataupun Big Endian. Selain ukuran, lebar atau ketelitian (presisi) bilangan bulat juga bervariasi, tergantung jumlah bit yang direpresentasikanya. Bilangan bulat yang memiliki n bit dapat mengodekan 2n. Jika tipe bilangan bulat tersebut adalah bilangan bulat tak bertanda, maka jangkauannya adalah dari 0 hingga 2n-1.

2. Double

Double adalah deklarasi untuk tipe data numerik bilangan pecahan secara default menggunakan.

3. Boolean

Boolean adalah suatu tipe data yang hanya mempunyai dua nilai. Yaitu true atau false (benar atau salah). Pada beberapa bahasa pemograman nilai true bisa digantikan 1 dan nilai false digantikan 0.

4. String

String dalam pemrograman komputer adalah sebuah deret simbol. Tipe data string adalah tipe data yang digunakan untuk menyimpan barisan karakter.

5. Object

Object merupakan tipe data yang bisa berupa bilangan, variabel atau fungsi. Data ini dapat dimasukkan ke dalam skrip program sehingga meringkas beberapa fungsi dan memperkecil ukuran file.

6. Array

Array adalah suatu tipe data terstruktur yang dapat menyimpan banyak data dengan suatu nama yang sama dan menempati tempat di memori yang berurutan (kontigu) serta bertipe data sama pula. Array dapat diakses berdasarkan indeksnya. Indeks array umumnya dimulai dari 0 dan ada pula yang dimulai dari angka bukan 0. Pengaksesan larik biasanya dibuat dengan menggunakan perulangan (looping).

7. Null

Null itu artinya kosong, Tapi artian kosong tidak sama dengan string "" atau string empty.

Kode program PHP menyatu dengan tag-tag HTML dalam satu file. Kode PHP diawali dengan tag <? atau <?php dan ditutup dengan tag ?>. File yang berisi tag HTML dan kode PHP ini diberiekstensi .php atau ekstensi lainnya yang ditetapkan pada Apache atau web server. Berdasarkan ekstensi ini, pada saat file diakses, server akan tahu bahwa file ini mengandung kode PHP. Server akan menerjemahkan kode ini dan menghasilkan keluaran dalam bentuk tag HTML yang akan dikirim ke browser client yang mengakses file tersebut. Sebagai contoh: <HTML> <HEAD> <TITLE>Pemrograman PHP</TITLE> </HEAD> <BODY> <CENTER> <?

Echo “Selamat menggunakan PHP”; ?>

</CENTER> </BODY> </HTML>

Pada contoh program diatas terdapat satu baris perintah PHP, yaitu

<?

Echo “Selamat menggunakan PHP”; ?>

Perintah ini dibuka dengan tag <? dan ditutup dengan tag ?>. Perintah PHP dapat disisipkan disembarang tempat dari file diatas. Setiap baris perintah PHP diakhiri dengan tanda titik koma (;), tag penutup ?> juga dapat berfungsi sebagai pengganti titik koma (;), jadi baris perintah diatas dapat juga dituliskan <? Echo“Selamat menggunakan PHP”?>.

2.2 Pr otokol HTTP dan HTTPS

2.2.1 HTTP (Hyper Text Transtfer Pr otocol)

Hypertext Transfer Protocol (HTTP) adalah sebuah protokol jaringan lapisan aplikasi yang digunakan untuk sistem informasi terdistribusi, kolaboratif, dan menggunakan hypermedia. Penggunaannya banyak pada pengambilan sumber daya yang saling terhubung dengan tautan, yang disebut dengan dokumen hypertext, yang kemudian membentuk World Wide Web pada tahun 1990 oleh fisikawan Inggris, Tim Berners-Lee.

Pengembangan standar HTTP telah dilaksanakan oleh Konsorsium World Wide Web (World Wide Web Consortium/W3C) dan juga Internet Engineering Task Force (IETF), yang berujung pada publikasi beberapa dokumen Request for Comments (RFC), dan yang paling banyak dirujuk

adalah RFC 2616 (yang dipublikasikan pada bulan Juni 1999), yang mendefinisikan HTTP/1.1.

Dukungan untuk HTTP/1.1 yang belum disahkan, yang pada waktu itu RFC 2068, secara cepat diadopsi oleh banyak pengembang penjelajah web pada tahun 1996 awal. Pada bulan Maret 2006, salah satu perusahaan web hosting melaporkan bahwa lebih dari 40% dari penjelajah Web yang digunakan di Internet adalah penjelajah web yang mendukung HTTP/1.1. Standar HTTP/1.1 yang didefinisikan dalam RFC 2068 secara resmi dirilis pada bulan Januari 1997. Peningkatan dan pembaruan terhadap standar HTTP/1.1 dirilis dengan dokumen RFC 2616 pada bulan Juni 1999.

Gambar 2.1: Request-Response Protokol HTTP

Cara kerja protokol HTTP yaitu meminta/menjawab antara client dan server seperti tampak pada Gambar 2.1. Sebuah klien HTTP (seperti web browser atau robot dan lain sebagainya), biasanya memulai permintaan dengan membuat hubungan ke port tertentu di sebuah server Webhosting tertentu (default port 80). Klien yang mengirimkan permintaan HTTP juga dikenal dengan user agent. Server yang

meresponsnya, yang menyimpan sumber daya seperti berkas HTML dan gambar, dikenal juga sebagai origin server. Di antara user agent dan juga origin server, bisa saja ada penghubung, seperti halnya proxy, gateway, dan juga tunnel.

2.2.2 HTTPS (HTTP Over SSL)

HTTPS adalah protokol yang digunakan untuk lalu lintas yang terenkripsi dalam aliran HTTP. Keseluruhan pesan dienkripsi sewaktu Secure Socket Layer (SSL) digunakan. Ada banyak versi SSL dan tersedia protokol-protokol (Transport Layer Security, TLS, dan RFC2246) yang berhubungan dengannya, termasuk SSLv1, SSLv2, dan SSLv3. Dan untuk membuat paket data semakin dikacaukan, SSL menwarkan variasi pilihan untuk standar enkripsi yang digunakan dalam versi tertentu dan SSL. Misalnya, dengan SSLv3, bisa menggunakan DES sampai RSA (RC2 dan RC4).

Jadi, HTTPS itu mempunyai rekues dan respon yang sama dengan HTTP. Akan tetapi proses pengirimannya yang berbeda, yaitu melalui SSL. Berikut contoh rekues dan respon yang terjadi saat meminta halaman

https://mail.google.com:

HTTP Request

GET / HTTP/1.1

Host: mail.google.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;

rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9 Accept:

Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive Cookie: PREF=ID=de0629378c497e52:U=5e34c068afae3794:TM=1272874619:LM=12756865 79:GM=1:S=MK4oAGcG7tHV2HQk; NID=35=OwQpNQEW0Qu_vJX3ieCm0MQx8VFTkaeKUfIYTnyj_Jj9qeZlmg- 3WMwysupKc5xoEQlBlSQeD_gFT5VYeweQwpn-raSSHVkjXosuWfSBEIwzGOcj34oNEAw6M0bTtJSL HTTP Request HTTP/1.1 200 OK

Cache-Control: public, max-age=604800 Expires: Sun, 13 Jun 2010 20:44:43 GMT Date: Sun, 06 Jun 2010 20:44:43 GMT

refresh: 0;URL=https://mail.google.com/mail/ Content-Type: text/html; charset=UTF-8

X-Content-Type-Options: nosniff X-Frame-Options: SAMEORIGIN X-XSS-Protection: 1; mode=block Content-Length: 234

Server: GSE

Berbeda dengan contoh rekues dan respon sebelumnya, pada HTTPS ditambahkan X-Content-Type-Options: nosniff. Header respon tersebut menandakan bahwa semua data yang akan ditransfer akan akan

dienkripsi dan diacak terlebih dahulu dan tidak ditransfer dalam bentuk plaintext seperti pada versi HTTP tanpa SSL. Dalam versi HTTP, Expires diset -1 sedangkan pada versi HTTPS diset Expires: Sun, 13 Jun 2010 20:44:43 GMT. Artinya, pada versi HTTPS lebih mengutamakan keamanan dengan memberikan masa expired pada pengguna.

2.3 URL (Unifor m Resource Locator)

URL merupakan suatu inovasi dasar bagi perkembangan sejarah Internet. URL pertama kali diciptakan oleh Tim Berners-Lee pada tahun 1991 agar penulis-penulis dokumen-dokumen dapat merujuk pranala ke World Wide Web. Sejak 1994, konsep URL telah dikembangkan menjadi istilah Uniform Resource Identifier (URI) yang lebih umum sifatnya. Walaupun demikian, istilah URL masih tetap digunakan secara luas. Tabel 2.1 menjelasakan komponen-komponen URL.

Tabel 2.1: Komponen-komponen URL (McClure, 2003)

Komponen Keterangan

Protokol Protokol lapisan aplikasi yang dipakai. Seperti HTTP, FTP, dan yang lainnya.

Server [:port] Nama DNS, Nama Netbios, atau alamat IP dari sebuah host sumber yang diminta. \[:port] merupakan pilihan jika menggunakan port yang tidak default (default HTTP = 80)

Alamat/ke/file Alamat direktori atau folder dan file yang diminta. Parameter Parameter dapat dilewatkan ke sumber bila ia adalah

sebuah aplikasi atau sebuah program yang secara dinamis membangkitkan output. Kadangkala bagian URL yang mengkhususkan parameter yang disebut juga Query String.

URL juga merupakan sebuah mekanisme untuk mengenali sumber-sumber pada web, SSL, atau server FTP, termasuk protokol layer aplikasi yang membuat

request ke server Web. URL digunakan dengan software browser untuk menempatkan dan mengakses informasi di web. Struktur URL adalah:

Protokol://Server\[:port]/Alamat/ke/file?Parameter=nilai_parameter Contoh:

https://www.site.com:80/order/buy.asp?item=100 2.3.1 URL Encoding dan Meta-Karakter

Pada intinya, URL merupakan string alfanumerik dengan beberapa simbol lain yang dimasukkan ke dalamnya. Karakter penyusun string URL terdiri dari simbol-simbol, simbol alfanumerik yang terdiri dari A-Z, a-z, dan bilangan 0-9. Selain itu ada simbol tambahan, diantaranya ; / ? : @ & = + $ , < > # % “ dan karakter khusus meliputi - _ . ! ~ * ‘ ( ) { } | \ ^ [ ].

Pada banyak bagian, string URL terdiri dari huruf-huruf, angka-angka, dan simbol-simbol tambahan yang memiliki arti khusus di dalam string URL. Karakter-karakter khusus yang lain bisa ditemukan pada beberapa string URL, walaupun karakter-karakter itu tidak memiliki arti khusus sejauh menyangkut URL. Namun demikian, karakter-karakter itu bisa memiliki arti khusus bagi web server yang menerima URL atau aplikasi yang diminta lewat web server. Tabel 2.2 menjelaskan tentang arti karakter khusus dalam URL.

Tabel 2.2: Karakter Khusus dan Artinya dalam URL (McClure, 2003)

Karakter Arti

? Pemisah query string. Bagian string URL di sebelah kanan simbol ? adalah Query String.

& Delimiter parameter. Digunakan untuk memisahkan pasangan parameter name=value pada Query String.

= Memisahkan nama parameter dari nilai parameter. + Diterjemahkan menjadi spasi.

: Pemisah protokol. Bagian string URL mulai dari awal sampai simbol : menentukan protokol layer aplikasi.

% Dipakai sebagai karakter escape untuk menentukan karakter heksadesimal yang ter-encode.

@ Dipakai pada URL mailto: sewaktu menentukan alamat email atau sewaktu melewatkan login berkas-berkas penting milik pengguna ke sumber yang terproteksi, khususnya pada FTP.

~ Dipakai untuk menentukan home directory pengguna pada sistem multi pengguna seperti unix.

Sedangkan untuk karakter-karakter seperti * ; | dan ‘ memiliki arti tertentu sebagai meta-karakter pada script aplikasi. Karakter-karakter ini tidak mempengaruhi URL, tetapi jika karakter-karakter itu mengakhiri perintah untuk masuk ke aplikasi, bisa mengubah arti input seluruhnya dan kadang kala menciptakan lubang keamanan.

2.4 Web Server

Web server merupakan sebuah perangkat lunak dalam server yang berfungsi menerima permintaan (request) berupa halaman web melalui HTTP atau HTTPS dari klien yang dikenal dengan browser web dan mengirimkan kembali (response) hasilnya dalam bentuk halaman-halaman web yang umumnya berbentuk dokumen HTML. Sehingga web server adalah software yang menjadi tulang belakang web.

Web server menunggu permintaan dari client yang menggunakan browser seperti Netscape Navigator, Internet Explorer, Mozilla, dan program browser lainnya. Jika ada permintaan dari browser, maka web server akan memproses permintaan itu kemudian memberikan hasil prosesnya berupa data yang diinginkan kembali ke browser. Data ini mempunyai format yang standar, disebut dengan format SGML (Standar General Markup Language). Data yang berupa

format ini kemudian akan ditampilkan oleh browser sesuai kemampuan browser tersebut.

Proses yang dimulai dari permintaan browser, diterima web server, diproses, dan dikembalikan hasil prosesnya oleh web server ke browser lagi dilakukan secara transparan. Setiap orang dapat dengan mudah mengetahui apa yang terjadi pada tiap-tiap proses. Secara garis besarnya web server hanya memproses semua masukan yang dikirim oleh browser. Contoh web server yaitu Apache, nginx, GWS, Apache Tomcat, Microsoft Windows server 2003 Internet Information Service (IIS), lighttp, Jigsaw, Sun java system web server, Xitami web server, Zerus web server.

Cara Kerja Web Server

prinsip atau cara kerja web server itu sendiri? Cukup sederhana untuk dipahami, karena pada dasarnya tugas web server hanya ada 2 (dua), yaitu:

a. Menerima permintaan (request) dari client.

b. Mengirim apa yang diminta oleh client (response).

Penjelasan Gambar 2.2 :

1. Client disini dapat berupa computer desktop dengan minimal memiliki browser dan ter hubung ke web server melalui jaringan (intranet atau internet).

2. Komputer yang berfungsi sebagai server, dimana didalamnya terdapat perangkat lunak web server. Agar computer ini dapat diakses oleh client maka computer harus terhubung ke jaringan (intranet atau internet). Dalam jaringan internet, computer ini biasa saja bernama www.google.com. www.bl.ac.id atau memiliki kode computer (disebut IP Address) seperti 202.10.20.10 dan 200.100.50.25.

3. Pertama-tama, client (user) akan meminta suatu halaman ke (web) server untuk ditampilkan di computer client. Misalnya client mengetikan suatu alamat (biasa disebut URL) di browser http://www.google.com. Client menekan tombol enter atau klik tombol Go pada browser. Lalu apa yang terjadi? Melalui media jaringan (bisa internet, bisa intranet) dan melalui protocol http,akan dicarilah computer bernama www.google.com. Jika ditemukan, maka seolah-olah terjadi permintaan, “hai google, ada client yang minta halaman utama nih, ada dimana halamanya?”. Inilah yang disebut request.

4. Sekarang dari sisi server (web server). Mendapat permintaan halaman utama google dari client, si server akan mencari-cari di komputernya halaman sesuai permintaan. Jika ditemukan, maka halaman yang diminta akan dikirimkan ke client (si peminta), namun jika tidak ditemukan, maka server akan memberi pesan “404. page Not Found”,

2.4.1 Web Server Apache

Apache adalah server web yang dapat dijalankan di banyak sistem operasi (Unix, BSD, Linux, Microsoft Windows dan Novell Netware serta platform lainnya) yang berguna untuk melayani dan memfungsikan situs web. Protokol yang digunakan untuk melayani fasilitas web ini menggunakan HTTP.

Apache juga didukung oleh sejumlah antarmuka pengguna berbasis grafik (GUI) yang memungkinkan penanganan server menjadi mudah. Apache merupakan perangkat lunak sumber terbuka dikembangkan oleh komunitas terbuka yang terdiri dari pengembang-pengembang dibawah naungan Apache Software Foundation. Proyek Apache diawali dengan terbentuknya milis "new-httpd" yang dicanangkan untuk mendiskusikan pengembangan dan masa depan dari server NSCA (National Center for Supercomputing Applications) yang ada di University of Illinois.

Sebagai basis pengembangan digunakan versi 1.3 dari NCSA-httpd-Server, dan tim baru ini tak lama kemudian menerbitkan Apache 0.6.2 pada bulan April 1995. Di bulan Desember pada tahun yang sama berhasil membuahkan versi final pertama Apache 1.0 dari web server yang telah dikenal piawai sampai saat ini. Selanjutnya Apache yang bermula dari NSCA-Server itu telah meraih peringkat nomor satu dunia. Pada tahun 2001 berhasil meraup pangsa pasar dunia sekitar 60 persen kemudian meningkat menjadi 70 persen dari di akhir tahun 2005. Sedangkan untuk Mei 2012, Apache tetap menempati urutan teratas, namun hanya 64.20 persen dari seluruh web server di dunia. (sumber: Netcraft Web server Survey, Mei 2012)

Gambar 2.3: Persentase penggunaan web server(1995-2012) (http://news.netcraft.com/)

Tabel 2.3: Persentase penggunaan web server (1996-2010) (http://news.netcraft.com)

Developer April 2012 Percent May 2012 Percent Change Apache 443,102,56165 46% 425,631,72164 20% -1.26 Microsoft 92,488,75113 66% 92,406,48013 94% 0.28

nginx 69,869,91610 32% 70,764,24810 67% 0.35 Google 22,039,9013 26% 21,264,6163 21% -0.05

Apache merupakan web server yang pertama sebagai alternatif terhadap web server komersil dari Netscape Communications Corporation (setelah diakuisisi menjadi Sun Java System Web Server), dan sejak keberadaannya merupakan saingan nomor satu diantara sesama web server turunan unix dalam hal fungsionalitas, fitur dan kinerja. Dari berbagai sumber dapat diklaim bahwa kebanyakan web serverApache dijalankan diatas sistem operasi Linux.

Ar sitektur Apache

Sebagai lawan dari arsitektur monolitik server di mana semua kegiatan tersebut dilakukan oleh satu, Apache menggunakan pendekatan modular. Gambar 2.3 menggambarkan arsitektur umum dari Apache. Ada bagian inti dari server yang bertanggung jawab untuk mendefinisikan dan mengikuti langkah-langkah dalam melayani permintaan (Apache Core) dan beberapa modul yang benar-benar melaksanakan berbagai tahapan penanganan permintaan (Apache Module).

Apache Core mengimplementasikan fungsi dasar server. Selain itu, Apache Core juga menerapkan sejumlah fungsi tambahan. Fungsi tambahan itu seperti pengalokasian memori atau sumber daya untuk menangani atau memproses suatu permintaan dari client (HTTP Request). Apache Core ini juga berfungsi untuk membangun child setiap permintaan yang masuk.

. Gambar 2.4: Arsitektur umum Apache (Dragoi, 1999)

Modul Apache

Apache merupakan aplikasi server web yang memiliki inti (core) yang kecil kemudian digabungkan dengan modul-modul. Modul-modul tersebut di-compile dengan referensi yang sudah ditentukan dalam Apache Core sehingga modul-modul tersebut dapat bekerja seiring dengan Apache Core. Modul-modul tersebut diletakkan pada direktori /modules/ atau /libexec/ dan di-load oleh Apache Core sesuai fungsi masing-masing.

Selain itu, server Apache mengacu pada librari-librari yang disebut Apache Portable Runtime (APR) yang bisa dijalankan secara lintas platform baik tingkatan layer dan kebutuhan, sehingga modul-modul tidak membutuhkan eksekusi dari sistem operasi yang sifatnya non-portabel. Selain APR yang berfungsi sebagai “sistem operasi virtual” untuk modul-modul, ada juga modul yang disebut Multi-Processing Module (MPM) yang berfungsi untuk membantu optimalisasi Apache pada sistem operasi. Gambar 2.5 merupakan gambaran lebih detail dari arsitektur Apache beserta modul-modulnya.

Gambar 2.5: Arsitektur Apache dan modul Apache (Dragoi, 1999)

Apache dikompilasi dengan memasukkan modul-modulnya sebagai bagian dari file binary. Modul-modul tersebut yang mendukung fitur-fitur yang ditawarkan oleh Apache. Misalnya mod_auth yang mendukung otentikasi teks murni. Modul yang disediakan oleh Apache secara default adalah :

1) Pembuatan environment

a) mod_env Pembuatan variabel environment untuk skrip CGI/SSI

b) mod_setenv if Pembuatan variabel environment berdasarkan header HTTP c) mod_unique_id Pengenal khusus untuk permintaan Content Type Decision d) mod_mime Penentuan tipe isi/encoding (configured)

f) mod_negotiation Penentuan pemilihan berdasarkan the HTTP Accept headers URL mapping

2) Pengaturan direktori

a) mod_dir Pengaturan direktori dan direktori default file

b) mod_autoindex Kontrol akses terhadap direktori file indeks secara

Dokumen terkait