Apa itu Apache HTTP Server

Apakah Sobat Gaptex tahu apa itu Apache HTTP Server? Istilah ini sering disebut dengan Apache, adalah sebuah perangkat lunak server web cross-platform yang gratis dan open-source. Apache dirilis dengan persyaratan Apache License 2.0. yang dikembangkan dan dikelola oleh komunitas pengembang terbuka di bawah naungan Apache Software Foundation.

Meskipun Apache HTTP Server adalah software cross-platform, namun terhitung sejak tanggal 1 Juni 2017, 92% dari semua salinan Apache HTTPS Server berjalan di distribusi Linux. Bahkan di versi 2.0 meningkatkan dukungan untuk sistem operasi non-Unix seperti Windows dan OS. Sedangkan, versi lama Apache diporting untuk dijalankan di OpenVMS dan NetWare.

Sejarah Apache HTTP Server
Awalnya berbasis server NCSA HTTPd, pengembangan Apache dimulai pada awal 1995 setelah pengerjaan kode NCSA dihentikan. Apache juga memainkan peran kunci dalam pertumbuhan awal World Wide Web, karena dengan cepat menyalip NCSA HTTPd sebagai server HTTP yang dominan, dan tetap populer sejak April 1996.

Tercatat pada tahun 2009, Apache telah menjadi perangkat lunak server web pertama yang melayani lebih banyak dari 100 juta situs web. Di bulan Juli 2016 lalu, Apache diperkirakan melayani 46% dari semua situs web aktif dan 43% dari jutaan situs web teratas.

Menurut FAQ di situs proyek Apache, nama Apache dipilih karena menghormati suku asli Amerika “Apache” dan keahlian superior mereka dalam peperangan dan strategi. Nama itu diyakini secara luas sebagai ‘A Patchy Server’ (karena ini adalah serangkaian perangkat lunak). Saat Apache berjalan, nama prosesnya terkadang httpd, yang merupakan singkatan dari “HTTP daemon”.

Fitur Apache
Apache mendukung berbagai fitur menarik yang banyak diimplementasikan sebagai modul terkompilasi dengan memperluas fungsionalitas inti. Hal ini bisa berkisar dari bahasa pemrograman sisi server yang mendukung skema otentikasi. Beberapa antarmuka bahasa yang umum juga mendukung Perl, Python, Tcl dan PHP.

Modul otentikasi yang populer meliputi mod_access, mod_auth, mod_digest, dan mod_auth_digest, penerus mod_digest. Contoh fitur lainnya termasuk Secure Sockets Layer dan Transport Layer Security support (mod_ssl), modul proxy (mod_proxy), modul penulisan ulang URL (mod_rewrite), file log kustom (mod_log_config), dan dukungan penyaringan (mod_include dan mod_ext_filter).

Metode kompresi yang populer di Apache menyertakan modul ekstensi eksternal, mod_gzip, diimplementasikan untuk membantu pengurangan ukuran (berat) halaman Web yang dilayani melalui HTTP. ModSecurity adalah mesin deteksi dan pencegahan open source untuk aplikasi Web. Log Apache pun dapat dianalisis melalui browser Web menggunakan skrip gratis, seperti AWStats/W3Perl atau Pengunjung. Kemudian, virtual hosting memungkinkan satu instalasi Apache untuk melayani berbagai situs Web. Misalnya, satu mesin dengan satu instalasi Apache dapat melayani www.example.com, www.example.org, test47.test-server.example.edu, dan sebagainya

Bukan hanya itu, Apache memiliki pesan kesalahan yang dapat dikonfigurasi, database otentikasi berbasis DBMS, dan negosiasi konten. Hal ini juga didukung oleh beberapa antarmuka pengguna grafis (GUI). Ia juga mendukung otentikasi kata sandi dan otentikasi sertifikat digital. Karena kode sumber tersedia secara bebas, siapapun dapat menyesuaikan server untuk kebutuhan spesifik, dan ada perpustakaan umum Apache add-on yang besar.

Artikel menarik:  Apa itu NIC?

Berikut ini fitur lengkap dari Apache HTTP Server:
– Modul dinamis yang dapat dipindahkan
– Mode Multiple Request Processing (MPM) termasuk Event-based atau Async, Threaded dan Prefork
– Sangat terukur (mudah menangani lebih dari 10.000 koneksi simultan)
– Penanganan file statis, file indeks, auto-indexing dan negosiasi konten
– Mendukung .htaccess support
– Reverse proxy dengan caching
– Load balancing dengan pemeriksaan in-band health
– Beberapa mekanisme load balancing
– Faultover toleransi dan Failover dengan recovery otomatis
– WebSocket, FastCGI, SCGI, AJP dan uWSGI mendukung dengan caching
– Konfigurasi dinamis
– TLS/SSL dengan dukungan stapel SNI dan OCSP, melalui OpenSSL
– Server virtual berbasis nama dan alamat IP
– Kompatibel dengan IPv6
– Dukungan protokol HTTP/2
– Kontrol akses otorisasi dan otorisasi yang bagus
– Kompresi dan dekompresi gzip
– Penulisan ulang URL
– Header dan isi menulis ulang
– Custom logging dengan rotasi
– Pembatasan koneksi serentak
– Meminta tingkat pemrosesan yang membatasi
– Bandwidth throttling
– Sisi Server
– Alamat IP berbasis geolokasi
– Pelacakan pengguna dan sesi
– WebDAV
– Tertanam Perl, PHP dan Lua scripting
– Dukungan CGI
– Public_html per-user halaman web
– Parser ekspresi generik
– Pandangan status real-time
– Dukungan XML
– Dukungan FTP (dengan modul terpisah)

Performa Apache HTTP Server
Alih-alih menerapkan arsitektur tunggal, Apache menyediakan berbagai modul MultiProses (MPM), yang memungkinkan Apache menjalankan mode hibrida (proses dan thread), untuk menyesuaikan permintaan setiap infrastruktur tertentu dengan lebih baik. Hal ini menyiratkan bahwa pilihan MPM dan konfigurasi yang benar adalah penting.

Dimana kompromi dalam kinerja perlu dilakukan, desain Apache memang diperuntukkan untuk mengurangi latensi dan meningkatkan throughput, relatif terhadap penanganan lebih banyak permintaan, sehingga memastikan pemrosesan permintaan yang konsisten dan andal dalam kerangka waktu yang wajar.

Untuk pengiriman halaman statis, seri Apache 2.2 dianggap jauh lebih lambat daripada nginx dan varnish. Untuk mengatasi masalah ini, para pengembang Apache menciptakan Event MPM, yang menggabungkan penggunaan beberapa proses dan beberapa thread per proses dalam loop berbasis aktivitas asinkron. Arsitektur ini, dan cara implementasinya di Apache 2.4 series, memberikan kinerja setara atau sedikit lebih baik daripada server berbasis event, seperti yang dikutip oleh Jim Jagielski dan sumber independen lainnya.