![]() |
| WWW (World Wide Web) |
Substansi :
- Hypertext Transfer Protocol (HTTP)
- Request Message
- Request Method
- Versi HTTP
- Kode Status (Code Status)
- Web Browser
- Sejarah
- Fitur
- Struktur Web Browser
- Web Server
- Fitur
- Tipe Konten
- Translasi Path
Intro
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 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).
2. 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.
- Header, seperti Accept-Language : en
- Baris kosong
- Pilihan badan pesan.
Request line dan header diikuti dengan CRLF (Carriage Return yang diikuti dengan Line Feed).
3. Request Method
HTTP mendifinisikan 8 metode yaitu :
- HEAD Meminta respon yang mirip dengan GET hanya saja tanpa dilanjutkan dengan badan pesan. Metode ini digunakan untuk mengambil informasi meta.
- GET Meminta sumber daya yang spesifik, dan digunakan untuk mengakses halaman web.
- POST Mensubmit suatu data untuk diproses. Data dimasukkan kedalam badan pesan
- PUT Melakukan upload suatu resource ke suatu site
- DELETE Menghapus suatu resource
- TRACE Melakukan echo back terhadap suatu resource, sehingga client dapat melihat intermediate yang ada.
- OPTIONS Mengembalikan metode HTTP dari server, digunakan untuk melihat resource dari suatu web server
- CONNECT Digunakan untuk proxy apabila mengakses suatu site yang mendukung SSL
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.
4. Versi HTTP
HTTP berkembang mengikuti perkembangan perangkat lunak. Sehingga versi yang pernah digunakan adalah :
- HTTP 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.
5. 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
Sukses (2xx), akses yang berhasil
- 200 OK
- 201 Created
- 202 Accepted
- 203 Non-authoritative information
- 204 No-Content
- 205 Reset Content
- 206 Partial Content
Redirection (3xx), informasi ini memberitahukan kepada user agent untuk melakukan request tambahan supaya mencapai akses.
- 300 Multiple choices
- 301 Moved permanently
- 302 Moved temporarily
- 303 See Other
- 304 Not Modified
- 305 Use Proxy
Client Error (4xx), terjadi kesalahan pada client
- 400 Bad request
- 401 Unauthorized
- 402 Payment Required
- 403 Forbidden
- 404 Not found
- 405 Method not allowed
- 406 Not acceptable
- 407 Proxy Authentication Required
- 408 Request Timeout
- 409 Conflict
- 410 Gone
- 411 Length Required
- 412 Precondition failed
- 413 Request entity too large
- 414 Request URI too long
- 415 Unsupported media
Server error (5xx), informasi ini memberitahukan kepada client bahwa terjadi kesalahan di server.
- 500 Internal server error
- 501 Not implemented
- 502 Bad Gateway
- 503 Service unavailable
- 504 Gateway timeout
- 505 HTTP version not supported
Contoh
Berikut ini merupakan contoh komunikasi HTTP antar client dan server. Server berjalan di www.sample.com, dengan port 80.
Client request
![]() |
| Client mengakses HTTP |
Kemudian server akan memberikan respon
Server respon
![]() |
| Respon dari server |
6. 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).
![]() |
| Contoh dari web browser (Mozilla-Firefox) Jadul |
7. Sejarah
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.
8. Fitur
Standar web browser harus mendukung fasilitas sebagai berikut :
- HTTP dan HTTPS
- HTML, XML dan XHTML
- Format gambar termasuk GIF, PNG, JPEG, dan SVG
- Cascading Style Sheet (CSS)
- Java Script (Dynamic HTML) dan XMLHttpRequest
- Cookie
- Digital Certificate
- Favicons
- RSS, Atom
Sedangkan fitur fundamental yang harus didukung antara lain :
- Bookmark
- Caching dari isi web
- Mendukung media lain melalui plugin, contoh Macromedia Flash
Fasilitas tambahan seperti
- Autocompletition dari URL
- Browsing secara Tabular
- Navigasi spasial
- Navigasi Caret
- Screen Reader
Fasilitas penghilang pengganggu
- Pop-Up advertisement
- Filter iklan
- Pertahanan terhadap phising
9. Struktur Web Browser
![]() |
| Struktur Web Browser |
10. Web Server
Pengertian web server dapat diartikan sebagai berikut :- 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.
- Program komputer yang melayani HTTP.
11. Fitur
Banyak program web server yang beredar, tetapi pada dasarnya memiliki fitur yang sama yaitu :
- HTTP: merespon permintaan HTTP dan memberikan jawaban HTTP dengan memberikan dokumen HTML dan memberikan informasi kesalahan bila terjardi kesalahan.
- Logging: web server memiliki fasilitas logging tentang informasi client yang melakukan request, respon yang diberikan oleh server, disimpan pada suatu file log. Dari file log tersebut webmaster dapat membuat analisa statistik dengan menjalan aplikasi log analyzer.
Pada prakteknya webserver juga memberikan fasilitas lainnya yaitu :
- Configurability, dapat dilakukan konfigurasi bahkan dengan aplikasi eksternal
- Authentication, memberikan fasilitas authorisasi (meminta informasi username dan password), sebelum mengakses suatu atau semua resource
- Dapat menangani tidak hanya konten static tetapi juga konten dinamik yang diberikan dari berbagai interface (SSI, CGI, SCGI, FastCGI, PHP, ASP, ASP.NET, ServerAPI, dll)
- Mendukung Modular, memberikan fasilitas diluar program inti, dan ditempatkan dalam bentuk modular, sehingga server bisa memanggilnya apabila diperlukan.
- HTTPS protokol HTTP dengan keamanan enkripsi dari SSL maupun TLS. Menggunakan koneksi pada port 443.
- Kompresi terhadap konten dengan menggunakan fasilitas gzip, sehingga bisa mengurangi penggunaan bandwidth
- Virtual Host, membentuk multi web server walau hanya menggunakan 1 alamat IP
- Mendukung file dengan ukuran besar
- Bandwidth Throttling, dapat mengatur penggunaan bandwidth terhadap pengakses
12. Tipe Konten
Konten yang diberikan oleh webserver dapat dikatakan :- statik, apabila berasal dari file yang terdapat pada filesistem
- dinamik, apabila berasal dari suatu program atau script yang dipanggil oleh web server.
Memberikan layanan statik dapat diakses lebih cepat dari pada layanan dinamik, terlebih lagi bila konten tersebut harus mengakses database terlebih dahulu.
13. 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 :
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.
14. 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.
15. 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.
![]() |
| Mesin webserver pertama |
16. Perangkat Lunak
Top rangking program aplikasi web server adalah :- Apache HTTP Server dari Apache Software Foundation
- Internet Information Services (IIS) dari Microsoft
- Sun Java System Web Server dari Sun Microsystem, dalam bentuk Sun ONE web server, iPlanet web server, dan Netscape Enterprice Server
- Zeus Web Server dari Zeus Technology
17. Konten
Web server melayani statik konten dan dinamik konten.
Konten Statik (Static Content)
Konten yang diambil secara langsung dari suatu file pada filesistem. Contoh dari konten statik antara lain :
- Hypertext Markup Language (HTML)
- Extensible Markup Language (XML)
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).
- Java Script, merupakan komponen dinamis dari web browser
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
- API dari webserver tertentu, contoh Netscape Server API (NSAPI), dan Microsoft internet Information Server API (ISAPI)
- Servlet, menjalankan aplikasi applet disisi server - Server-Side Includes (SSI), digunakan oleh webserver yang mendukung teknologi JAVA sehingga dapat merubah beberapa bagian kecil dari HTML
- Java Server Page (JSP), mengenerate halaman HTML dari suatu aplikasi
- PHP Hypertext Preprocessor (PHP), aplikasi modular yang ditambahkan kepada webserver untuk membentuk suatu halaman HTML yang disesuaikan dengan input.





