Bab ini menjelaskan beberapa protokol dan aplikasi yang menjadikan internet mudah digunakan dan populer. Sebagai bukti, trafik world wide web yang menggunakan layanan hypertext transfer protocol (HTTP), dapat melebihi penggunaan protokol lainnya seperti TELNET dan FTP dalam penggunaan bandwidth. Dapat dipastikan setiap sistem operasi modern telah dilengkapi dengan aplikasi web browser, bahkan beberapa dilengkapi dengan web server. Dengan itu akan semakin mudah bagi pengguna dan dunia bisnis untuk dapat saling bertukar informasi di dunia jaringan komputer.

World wide web (www) pertama kali dikembangkan pada tahun 1989 oleh Tim Berners Lee di European Laboratory untuk Particle Physic. Digunakan untuk berbagi dokumen dengan para ilmuwan.

Pada tahun 1993, penggunaan web semakin semarak, dengan dikembangkannya web browser berbasis grafik user interface oleh National Center of Supercomputing Applications (NCSA) yang disebut mosaic. Sehingga pengguna semakin mudah untuk melakukan akses web.

1. Hypertext Transfer Protocol (HTTP)

HTTP adalah suatu metode yang digunakan untuk transfer suatu informasi melalui world wide web. Didesign untuk memberikan cara untuk mempublikasikan dan mengambil halaman HTML.

Pengembangan HTTP dikoordinir oleh World Wide Web Concortium berkolaborasi dengan Internet Engineering Task Force, menghasilkan RFC 2616 yang berisikan tentang HTTP/1.1.

HTTP merupakan protokol yang digunakan untuk request/respon antara client dan server. Bentuk dari client adalah web browser, spider atau bentuk lainnya yang direferensi sebagai user agent. Dan tujuan server, dimana menyimpan atau membuat sumber daya seperti file HTML dan file gambar, disebut origin server. Diantara server dan client bisa terdapat penghubung (intermediate) antara lain proxy, gateway atau tunnel.

HTTP client memulai requestnya dengan menggunakan TCP sebagai layer transportnya dengan mengakses port 80 pada server.

Sumber daya yang diakses melalui HTTP disebut Uniform Resource Identifiers (URI) dengan mengakses suatu Uniform Resource Locators (URL).

1.1. Request Message

Pesan request terdiri dari :

  • Request line, seperti GET / images/logo.gif HTTP/1.1, dimana artinya mengakses file logi.gif pada direktori images.

Request line dan header diikuti dengan CRLF (Carriage Return yang diikuti dengan Line Feed).

1.2. Request Method

HTTP mendifinisikan 8 metode yaitu :

  1. HEAD. Meminta respon yang mirip dengan GET hanya saja tanpa dilanjutkan dengan badan pesan. Metode ini digunakan untuk mengambil informasi meta.

Safe Methods

Metode yang didefiniskan safe antara lain GET dan HEAD, digunakan hanya untuk pengambilan data dan tanpa melakukan perubahan disisi server. Metode yang didefinisikan unsafe antara lain POST, PUT dan DELETE, harus ditampilkan kepada pengguna dengan cara yang khusus, biasanya dalam bentuk tombol dan bukan link, dan dapat membuat pengguna lebih memperhatikan data yang akan dikirimkan.

1.3. Versi HTTP

HTTP berkembang mengikuti perkembangan perangkat lunak. Sehingga versi yang pernah digunakan adalah 0.9. Kadaluwarsa dan hanya mendukung metode GET:

HTTP/1.0

Protokol yang digunakan pertama kali digunakan HTTP/1.1

Versi yang sekarang digunakan dengan mendukung persistent connection dan bekerja dengan proxy.

HTTP/1.2

Versi yang akan datang, sedang dikembangkan oleh W3C dan akan digunakan sebagai HTTP Extension Framework.

1.4. Kode Status (Code Status)

Reson pertama kali yang muncul pada saat mengakses suatu web dan digunakan sebagai kode informasi status yang digunakan pada client. Contoh kode status antara lain :

  • Informasional (1xx), informasi yang digunakan untuk mengambil informasi: 100 Continue, 101 Switching protocol.

1.5. Contoh Komunikasi HTTP

Berikut ini merupakan contoh komunikasi HTTP antar client dan server. Server berjalan di www.sample.com, dengan port 80.

Client request

Gambar 13.1 Client mengakses HTTP

Server respon

Gambar 13.2 Respon dari server

2. Web Browser

Web browser adalah aplikasi perangkat lunak yang membantu pengguna untuk dapat melakukan interaksi dengan tulisan, gambar dan informasi lainnya yang terdapat di suatu halaman web pada suatu website pada World Wide Web. Tulisan dan gambar dapat berupa hyperlink pada halaman lain pada website yang sama atau berbeda.

Web browser terdapat di personal computer dengan aplikasi Microsoft Internet Explorer, Mozilla Firefox, Appe Safari, Netscape dan Opera (rangking menurut survey 2006). Web browser merupakan HTTP user agent.

Web Browser berkomunikasi dengan menggunakan protokol HTTP pada suatu URL. Kebanyakan browser sudah mendukung protokol lainnya seperti FTP (File Transfer Protocol), RTSP (Real Time Sreaming Protocol) dan HTTPS (Versi HTTP yang mendukung enkripsi SSL).

Gambar 13.3 Contoh dari web browser (Mozilla-Firefox)

2.1. Sejarah Web Browser

Tim Berners-Lee menggunakan NeXTcube sebagai aplikasi web server pertama kali pada tahun 1990, dan memperkenalkan pada CERN pada tahun 1991. Sehingga semenjak tahun tersebut pengembangan web browser semakin meningkat.

Web browser pertama adalah Silversmith, diciptakan oleh John Bottoms pada tahun 1987, menggunakan sistem SGML. Kemudian disusul oleh ViolaWWW yang berbasis HyperCard.

Perkembangan web browser meledak semenjak terciptanya NCSA Mozaic, yang merupakan web browser dengan GUI pertama kali, dikeluarkan pada September 1993. Marc Andreessen yang merupakan kepala proyek tersebut keluar dari NCSA dan membuat perusahaan dengan nama Netscape Communications Corporation.

Netscape mengeluarkan produk dengan nama Navigator pada tahun 1994, dan menguasai pasar dunia. Kemudian diikuti oleh Microsoft dengan mengeluarkan produk web browser dengan nama Internet Explorer, yang dibeli dari perusahaan Spyglass Inc. Hal ini yang menimbukan perang web browser, perang antara Microsoft dan Netscape.

Perang berlanjut dengan masing-masing perusahaan memberikan fitur-fitur tambahan seperti Cascading Style Sheet (CSS) dari Microsoft dan JavaScript Style Sheet(JSSS) dari Netscape. Kemudian Netscape semakin kalah dibandingkan dengan Microsoft dengan dalih penggunaan web browser yang sudah menjadi satu dengan sistem operasi OEM.

Akhirnya Netscape membuat produknya menjadi Open Source dengan membuat projek Mozilla. Perusahaan Netscape kemudian dibeli oleh America Online pada tahun 1998, hal ini manarik developer sehingga pada tahun 2002 mengeluarkan Mozilla 1.0. Projek ini semakin berkembang dan pada tahun 2004 keluar produk dengan nama Mozilla-Firefox dengan versi 1.0. Pada tahun 2005 keluar versi 1.5, versi 2 dijadwalkan akan keluar pada tahun 2006 dan sudah dipersiapkan produk Firefox 3. Sekarang Firefox merupakan web browser yang banyak digunakan, hampir 10% dari Traffik Internet.

Opera, web browser yang dapat dijalankan di perangkat genggam dan PC keluar pada tahun 1996.

Lynx merupakan web browser favorit bagi pengguna shell di unix.

Macintosh mengeluarkan Apple Safari yang merupakan web browser yang dikembangkan dari projek Konqueror. Safari digunakan pada sistem operasi Mac OS X.

2.2. Fitur Web Browser

Standar web browser harus mendukung fasilitas sebagai berikut :

  • HTTP dan HTTPS

Sedangkan fitur fundamental yang harus didukung antara lain :

  • Bookmark

Fasilitas tambahan seperti

  • Autocompletition dari URL

Fasilitas penghilang pengganggu

  • Pop-Up advertisement

2.3. Struktur Web Browser

Secara keseluruhan web browser memiliki struktur seperti pada Gambar 13.4.

Gambar 13.4 Struktur Web Browser

3. Web Server

Pengertian web server dapat diartikan sebagai berikut :

  1. Komputer yang memiliki tanggung jawab untuk menerima HTTP request dari client, yang biasanya menggunakan web browser dan melayani dalam bentuk halaman web, dimana biasanya berupa dokumen HTML dan objek link seperti gambar dll.

3.1. Fitur Web Server

Banyak program web server yang beredar, tetapi pada dasarnya memiliki fitur yang sama yaitu :

  1. HTTP: merespon permintaan HTTP dan memberikan jawaban HTTP dengan memberikan dokumen HTML dan memberikan informasi kesalahan bila terjardi kesalahan.

Pada prakteknya webserver juga memberikan fasilitas lainnya yaitu :

  1. Configurability, dapat dilakukan konfigurasi bahkan dengan aplikasi eksternal

3.2. Tipe Konten Web Server

Konten yang diberikan oleh webserver dapat dikatakan :

  • statik, apabila berasal dari file yang terdapat pada filesistem

Memberikan layanan statik dapat diakses lebih cepat dari pada layanan dinamik, terlebih lagi bila konten tersebut harus mengakses database terlebih dahulu.

3.3. Translasi Path

Web server melakukan peralihan jalur dari URL menuju ke filesistem, dimana URL pada web server relatif terhadap direktori document root.

Contoh client mengakses suatu alamat http://www.example.com/path/file.html

//Web browser akan merubah menjadi HTTP/1.1 request
GET /path/file.html HTTP/1.1
Host : www.example.com

Web server pada www.example.com akan menambahkan path tersebut pada akar direktori.

//Pada mesin Unix biasanya terletak di /var/www/htdocs, sehingga menjadi
/var/www/htdocs/path/file.html

Web server akan membaca file tersebut, apabila file tersebut dapat ditemukan maka akan dikirimkan kepada client sebagai HTTP respon.

3.4. Konkuren (concurency)

Aplikasi program web server menggunakan teknik pemrograman konkuren. Bahkan dikombinasikan dengan finite state machine dan non-blocking I/O, untuk melayani permintaan HTTP.

3.5. Sejarah

Pada tahun 1998 Tim Berners-Lee mengusulkan kepada CERN (Pusat penelitian nuklir di Eropa) sebuah proyek dengan tujuan mempermudah pertukaran informasi antar peneliti dengan menggunakan sistem hypertext. Hasil dari proyek ini adalah 2 buah program, yaitu browser dengan nama WorldWideWeb dan Web server, yang jalan di mesin NeXTSTEP.

Gambar 13.5 Mesin webserver pertama

3.6. Perangkat Lunak

Top rangking program aplikasi web server adalah :

  • Apache HTTP Server dari Apache Software Foundation

4. Konten

Web server melayani statik konten dan dinamik konten.

4.1. Konten Statik (Static Content)

Konten yang diambil secara langsung dari suatu file pada filesistem. Contoh dari konten statik antara lain :

  • Hypertext Markup Language (HTML)

4.2. Client-Side Dynamic Content

Fungsi dinamis dari aplikasi dijalankan disisi client. Contoh :

  • Program dan Applet, contoh Java Applet yang berjalan menggunakan Java Virtual Machine (JVM).

4.3. Server-Side Dynamic Content

Dengan mengakses fungsi yang terdapat di webserver sehingga memperoleh hasil yang sesuai request disebut dengan server-side dynamic content. Contoh :

  • Common Gateway Interface (CGI), dengan menggunakan pemrogam PERL dapat dibuat aplikasi yang sesuai dengan keinginan client

Bundet is a reflection of failure in managing ideas and mixing them to put an end to brain noise — we’re here bit.ly/satanic-issue

Bundet is a reflection of failure in managing ideas and mixing them to put an end to brain noise — we’re here bit.ly/satanic-issue