Makalah Web Server
Makalah Web Server
ADMINISTRASI JARINGAN
Web Server, HTTP, PHP, Apache
Di susun oleh :
DEVI AGUSTINA R. POHAN
KATA PENGANTAR
Penulis
DAFTAR ISI
Cover 1
Kata pengantar
Daftar isi
Bab I
Pengertian Web Server
Fungsi Web Server
HTTP 6
Sesi HTTP
PHP
Bab II
Penutup
13
Bab I
dari browser ke web server disebut dengan HTTP request yang kemudian akan dicarikan oleh
web server di dalam komputer server. Jika ditemukan, data tersebut akan dikemas oleh web
server dalam TCP dan dikirim kembali ke browser untuk ditampilkan. Data yang dikirim dari
server ke browser dikenal dengan HTTP response. Jika data yang diminta oleh browser tersebut
ternyata tidak ditemukan oleh web server, maka web server akan menolak permintaan tersebut
dan browser akan menampilkan notifikasi error 404 atau Page Not Found.
Meskipun proses atau cara kerja web server diatas seperti sangat rumit, tapi pada prakteknya
proses tersebut berlangsung dengan sangat cepat. Anda bahkan bisa sampai tidak menyadari
bahwa pada saat anda meminta suatu halaman web, ternyata hal itu membutuhkan proses yang
sangat panjang sampai halaman tersebut dapat anda lihat di browser anda.
HTTP
Hypertext Transfer Protocol (HTTP) adalah sebuah 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 pada
tahun 1990 oleh fisikawan Inggris, Tim Berners-Lee. Hingga kini, ada dua versi mayor dari
protokol HTTP, yakni HTTP/1.0 yang menggunakan koneksi terpisah untuk setiap dokumen, dan
HTTP/1.1 yang dapat menggunakan koneksi yang sama untuk melakukan transaksi. Dengan
demikian, HTTP/1.1 bisa lebih cepat karena memang tidak usah membuang waktu untuk
pembuatan koneksi berulang-ulang.
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. Hingga Maret 1996,
HTTP/1.1 yang belum disahkan itu didukung oleh Netscape 2.0, Netscape Navigator Gold 2.01,
Mosaic 2.7, Lynx 2.5, dan dalam Microsoft Internet Explorer 3.0. Adopsi yang dilakukan oleh
pengguna akhir penjelajah Web pun juga cepat. 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. [1]Perusahaan yang sama juga melaporkan
bahwa hingga Juni 1996, 65% dari semua penjelajah yang mengakses server-server mereka
merupakan 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.
HTTP adalah sebuah protokol meminta/menjawab antara klien dan server. 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 (biasanya port 80).
Klien yang mengirimkan permintaan HTTP juga dikenal dengan user agent. Server yang
6
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.
HTTP tidaklah terbatas untuk penggunaan dengan TCP/IP, meskipun HTTP merupakan salah
satu protokol aplikasi TCP/IP paling populer melalui Internet. Memang HTTP dapat
diimplementasikan di atas protokol yang lain di atas Internet atau di atas jaringan lainnya. seperti
disebutkan dalam "implemented on top of any other protocol on the Internet, or on other
networks.", tapi HTTP membutuhkan sebuah protokol lapisan transport yang dapat diandalkan.
Protokol lainnya yang menyediakan layanan dan jaminan seperti itu juga dapat digunakan.."[2]
Sumber daya yang hendak diakses dengan menggunakan HTTP diidentifikasi dengan
menggunakan Uniform Resource Identifier (URI), atau lebih khusus melalui Uniform Resource
Locator (URL), menggunakan skema URI http: atau https:.
Sesuai dengan perkembangan infrastruktur internet maka pada tahun 1999 dikeluarkan HTTP
versi 1.1 untuk mengakomodasi proxy, cache dan koneksi yang persisten.
Sesi HTTP
Sebuah sesi HTTP adalah urutan transaksi permintaan dan respons jaringan dengan
menggunakan protokol HTTP. Sebuah klien HTTP akan memulai sebuah permintaan. Klien
tersebut akan membuka sebuah koneksi Transmission Control Protocol|Transmission Control
Protocol (TCP) ke sebuah port tertentu yang terdapat dalam sebuah host (umumnya port 80 atau
8080). Server yang mendengarkan pada port 80 tersebut akan menunggu pesan permintaan klien.
Saat menerima permintaan, server akan mengirimkan kembali baris status, seperti "HTTP/1.1
200 OK", dan pesan yang hendak diminta, pesan kesalahan atau informasi lainnya.
Berikut ini adalah contoh transaksi yang dilakukan oleh server dan klien S = Server C = Client
C
C
C
S
S
S
S
S
:
:
:
:
:
:
:
:
(Inisialisasi koneksi)
GET /index.htm HTTP/1.1
Host: www.wikipedia.org
200 OK
Mime-type: text/html
-- data dokumen -(close connection)
Pengertian PHP
PHP adalah bahasa pemrograman script server-side yang didesain untuk pengembangan web.
Selain itu, PHP juga bisa digunakan sebagai bahasa pemrograman umum (wikipedia). PHP di
kembangkan pada tahun 1995 oleh Rasmus Lerdorf, dan sekarang dikelola oleh The PHP
Group. Situs resmi PHP beralamat di http://www.php.net.
PHP disebut bahasa pemrograman server side karena PHP diproses pada komputer server. Hal
ini berbeda dibandingkan dengan bahasa pemrograman client-side seperti JavaScript yang
diproses pada web browser (client).
Pada awalnya PHP merupakan singkatan dari Personal Home Page. Sesuai dengan namanya,
PHP digunakan untuk membuat website pribadi. Dalam beberapa tahun perkembangannya, PHP
menjelma menjadi bahasa pemrograman web yang powerful dan tidak hanya digunakan untuk
membuat halaman web sederhana, tetapi juga website populer yang digunakan oleh jutaan orang
seperti wikipedia, wordpress, joomla, dll.
Saat ini PHP adalah singkatan dari PHP: Hypertext Preprocessor, sebuah kepanjangan rekursif,
yakni permainan kata dimana kepanjangannya terdiri dari singkatan itu sendiri: PHP: Hypertext
Preprocessor.
PHP dapat digunakan dengan gratis (free) dan bersifat Open Source. PHP dirilis dalam lisensi
PHP License, sedikit berbeda dengan lisensi GNU General Public License (GPL) yang biasa
digunakan untuk proyek Open Source.
Kemudahan dan kepopuleran PHP sudah menjadi standar bagi programmer web di seluruh
dunia. Menurut wikipedia pada februari 2014, sekitar 82% dari web server di dunia
menggunakan PHP. PHP juga menjadi dasar dari aplikasi CMS (Content Management System)
populer seperti Joomla, Drupal, dan WordPress.
Dikutip dari situs w3techs.com, (diakses pada 18 Desember 2014), berikut adalah market share
penggunaan bahasa pemrograman server-side untuk mayoritas website di seluruh dunia :
Dapat dilihat
dari tampilan diatas bahwa mayoritas website modern saat ini menggunakan PHP.
8
Untuk membuat halaman web, sebenarnya PHP bukanlah bahasa pemrograman yang wajib
digunakan. Kita bisa saja membuat website hanya menggunakan HTML saja. Web yang
dihasilkan dengan HTML (dan CSS) ini dikenal dengan website statis, dimana konten dan
halaman web bersifat tetap.
Sebagai perbandingan, website dinamis yang bisa dibuat menggunakan PHP adalah situs web
yang bisa menyesuaikan tampilan konten tergantung situasi. Website dinamis juga bisa
menyimpan data ke dalam database, membuat halaman yang berubah-ubah sesuai input dari
user, memproses form, dll.
Untuk pembuatan web, kode PHP biasanya di sisipkan kedalam dokumen HTML. Karena fitur
inilah PHP disebut juga sebagai Scripting Language atau bahasa pemrograman script.
Sebagai contoh penggunaan PHP, misalkan kita ingin membuat list dari nomor 1 sampai nomor
10. Dengan menggunakan HTML murni, kita bisa membuatnya secara manual seperti kode
berikut ini:
<!DOCTYPE html>
<html>
<head>
<title>Contoh list dengan HTML</title>
</head>
<body>
<h2>Daftar Absensi Mahasiswa</h2>
<ol>
<li>Nama Mahasiswa ke-1</li>
<li>Nama Mahasiswa ke-2</li>
<li>Nama Mahasiswa ke-3</li>
<li>Nama Mahasiswa ke-4</li>
<li>Nama Mahasiswa ke-5</li>
<li>Nama Mahasiswa ke-6</li>
<li>Nama Mahasiswa ke-7</li>
<li>Nama Mahasiswa ke-8</li>
<li>Nama Mahasiswa ke-9</li>
<li>Nama Mahasiswa ke-10</li>
</ol>
</body>
</html>
Halaman HTML tersebut dapat dibuat dengan mudah dengan cara men-copy-paste tag <li>
sebanyak 10 kali dan mengubah sedikit angka-angka no urut di belakangnya. Namun jika yang
kita inginkan adalah menambahkan list tersebut menjadi 100 atau 1000 list, cara copy-paste
tersebut menjadi tidak efektif.
Jika menggunakan PHP, kita tinggal membuat perulangan for sebanyak 1000 kali dengan
perintah yang lebih singkat seperti berikut ini:
<!DOCTYPE html>
<html>
<head>
<title>Contoh list dengan PHP</title>
</head>
<body>
<h2>Daftar Absensi Mahasiswa</h2>
<ol>
<?php
for ($i= 1; $i <= 1000; $i++)
{
echo "<li>Nama Mahasiswa ke-$i</li>";
}
?>
</ol
</body>
</html>
Dengan menggunakan kode baris yang bahkan lebih sedikit, kita dapat membuat list tersebut
menjadi 1000 kali, bahkan 100.000 kali dengan hanya mengubah sebuah variabel $i.
PHP tidak hanya dapat melakukan pengulangan tersebut, masih banyak hal lain yang bisa kita
lakukan dengan PHP, seperti menginput data ke database, menghasilkan gambar, menkonversi
halaman text menjadi PDF, management cookie dan session, dan hal lainnya yang akan kita
pelajari di dalam tutorial belajar PHP di duniailkom.
10
Dalam tutorial PHP kali ini, kita telah mempelajari pengertian PHP, dan fungsi PHP dalam
pembuatan website. Pada tutorial selanjutnya kita akan membahas tentang sejarah PHP dan
perkembangan versinya, dari awal kemunculannya pada tahun 1994, hingga menjadi salah satu
bahasa pemrograman paling populer saat ini.
B. Kekurangan Apache
1. web server Apache tidak memiliki kemampuan mengatur load seperti IIS, sehingga akan terus
mem-fork proses baru hingga
nilai MaxClients tercapai atau hingga batas yang diizinkan oleh OS. Ini tentunya menguntungkan
penyerang karena habisnya RAM akan lebih cepat tercapai.
2. Apache tidak memproses karakter kutip dalam string Referrer dan User-Agent yang
dikirimkan oleh Client. Ini berarti
Client dapat memformulasi inputnya secara hati-hati untuk merusak format baris log akses
.3. Terganggunya proses upload data, yang bisa menyebabkan software salah dalam
menerjemahkan ukuran data yang masuk.
Dengan celah tersebut, hacker dikabarkan dapat mengeksploitasi kerentanan dengan cara
mengirimkan request pada server Apache bersangkutan.
Versi yang cacat tersebut adalah seluruh generasi Apache 1.3 dan versi 2 hingga 2.0.36. Server
yang diserang hacker memanfaatkan kelemahan ini akan mengalami DoS,
alias server itu tak bisa diakses. Dalam sejumlah kasus, penyerangnya dapat menjalankan pilihan
kodenya.
12
BAB II
PENUTUP
3.1 Kesimpulan
Server adalah sebuah program aplikasi yang menerima sambungan untuk permohonan servis
dan memberikan kembali respons.
Web Server adalah sebuah perangkat lunak server yang berfungsi menerima permintaan HTTP
atau HTTPS dari klien yang dikenal dengan browser web dan mengirimkan kembali hasilnya
dalam bentuk halaman-halaman web yang umumnya berbentuk dokumen HTML.
Mail server merupakan perangkat terpenting dalam pembuatan webmail yang menjadi tempat
dari database mail dalam jaringan untuk melakukan resource sharing, dan dapat dimanfaatkan
untuk memfasilitasi Perusahaan dalam pembuatan webmail.
3.2 Saran
Dalam penyusunan makalah ini tentunya masih jauh dari kesempurnaan dan masih jauh dari
kesempurnaan dan masih banyak terdapat hal-hal yang belum tercantumkan. Oleh karena itu,
saran dan kritik yang membangun penyusun terima dengan respon yang positiv. Semoga
penysunan makalah ini dapat berguna dan bermanfaat bagi siapa saja selaku pembaca
13