Anda di halaman 1dari 21

Konsep Dasar Web

M JAUHARUL FUADY

The WEB (Internet)

Beragam aplikasi berjalan di WEB, seperti web browsing, e-mail, transfer file, streaming musik dan film, dsb. Agar komunikasi antara client dan server berjalan dengan lancar, aplikasi-aplikasi tersebut harus menggunakan suatu protokol aplikasi tertentu dalam berkomunikasi, seperti HTTP, FTP, SMTP, POP, dsb.

Hyper Text Transfer Protocol (HTTP)

Hyper Text Transfer Protocol (HTTP)


HTTP merupakan protokol aplikasi yang paling populer digunakan di internet.
Asymmetric request-response client-server protocol HTTP client mengirim request ke server. Server mengirim response Pull protocol Client meminta (pull) informasi dari server. bukan Server yang mendorong (push) informasi ke client. Stateless protocol Request terkini tidak mengetahui kondisi dari request sebelumnya.

Browser

Uniform Resource Locator (URL)


URL digunakan untuk mengidentifikasi suatu resource di WEB secara unique. URL mempunyai sintaks sebagai berikut:
protocol://hostname:port/path-and-file-name

Protocol

: Protokol tingkat aplikasi yang digunakan oleh client dan server, seperti HTTP, FTP, dan telnet. Hostname : Nama domain (www.test101.com) atau alamat IP (192.128.1.2) server. Port : Nomor port TCP yang digunakan oleh server untuk menerima request dari client. Path-and-file-name: Nama dan lokasi dari resource yang diminta, yang berada pada suatu basis direktori dokumen di server.

Uniform Resource Locator (URL)


http://www.test101.com/docs/index.html

Protokol
Hostname Port number

: HTTP
: www.test101.com : tidak disebutkan di URL, berarti menggunakan default protokol HTTP menggunakan TCP port 80

Path -- filename : /docs/index.html


Contoh URL lain ftp://www.ftp.org/docs/test.txt telnet://www.test101.com/

mailto:user@test101.com

HTTP Protocol
URL yang diketikkan di browser diterjemahkan dalam suatu format sesuai protokol yang digunakan, lalu dikirimkan ke server. http://www.test101.com/docs/index.html akan diterjemahkan menjadi request message berikut
GET /docs/index.html HTTP/1.1 Host: www.test101.com Accept: image/gif, image/jpeg, */* Accept-Language: en-us Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) (blank line)

HTTP Protocol
Ketika request message tersebut sampai di server, server akan melakukan salah satu dari tiga aksi berikut: Server menterjemahkan request yang diterima, memetakan request ke suatu file pada direktori dokumen di server, dan mengembalikan file yang diminta ke client. Server menterjemahkan request yang diterima, memetakan request ke suatu program yang berada di server, mengeksekusi program, dan mengembalikan output dari program tersebut ke client. Request tidak dapat dipenuhi, server mengembalikan suatu error message.

HTTP Protocol
HTTP/1.1 200 OK Date: Sun, 18 Oct 2009 08:56:53 GMT Server: Apache/2.2.14 (Win32) Last-Modified: Sat, 20 Nov 2004 07:16:26 GMT ETag: "10000000565a5-2c-3e94b66c2e680" Accept-Ranges: bytes Content-Length: 44 Connection: close Content-Type: text/html X-Pad: avoid browser bug
<html><body><h1>It works!</h1></body></html>

HTTP over TCP/IP

HTTP over TCP/IP


TCP/IP (Transmission Control Protocol/Internet Protocol) merupakan himpunan protokol pada transport-layer dan network-layer yang digunakan untuk berkomunikasi antara satu mesin dengan mesin lain melalui suatu jaringan. IP (Internet Protocol) adalah protokol pada network-layer yang bertugas menangani network addressing dan routing.

TCP (Transmission Control Protocol) adalah protokol pada transportlayer yang bertugas menangani koneksi diantara dua mesin.
Reliable, tiap paket data bernomor dan memakai acknowledgement

Meski TCP Port 80 pre-assign ke HTTP sebagai nilai default. Hal ini tidak menutup kemungkinan untuk membuat suatu HTTP server yang listening ke port selain port 80, seperti port 8000 atau 8080.

HTTP Request and Response Message

HTTP Request Message

HTTP Request Message


Pada protokol HTTP telah terdefinisi sejumlah request methods. Setiap client dapat menggunakan salah satu method ini untuk mengirim suatu request message ke HTTP server. Terdapat dua method utama yaitu POST dan GET.
GET, digunakan untuk meminta web resource dari server. POST, digunakan untuk mengirimkan data dari local machine ke server.

Selain dua method utama ini masih ada beberapa request method lain seperti HEAD, PUT, DELETE, TRACE, OPTIONS, CONNECT, dan sejumlah method lain yang dapat didefinisikan sendiri.

HTTP Response Message

HTTP Response Message: Response Status Code


Baris pertama dari HTTP Response Message berisi response status code. Response status code ini terdiri dari angka 3-digit, yang bermakna:
1xx (Informational)
Request received, server is continuing the process.

2xx (Success)
The request was successfully received, understood, accepted and serviced.

3xx (Redirection)
Further action must be taken in order to complete the request.

4xx (Client Error)


The request contains bad syntax or cannot be understood.

5xx (Server Error)


The server failed to fulfill an apparently valid request.

Commonly-used Response Status Code


100 Continue:
The server received the request and in the process of giving the response.

200 OK:
The request is fulfilled.

301 Move Permanently:


The resource requested for has been permanently moved to a new location.

400 Bad Request:


Server could not interpret or understand the request, probably syntax error in the request message.

403 Forbidden:
Server refuses to supply the resource, regardless of identity of client.

Commonly-used Response Status Code


404 Not Found:
The requested resource cannot be found in the server.

408 Request Timeout:


Server thinks that there has been too long an interval of time

500 Internal Server Error:


Server is confused, often caused by an error in the server-side program responding to the request.

503 Service Unavailable:


Server cannot response due to overloading or maintenance. The client can try again later.

504 Gateway Timeout:


Proxy or Gateway indicates that it receives a timeout from an upstream server.

Testing HTTP Requests


Banyak cara yang dapat digunakan. Salah satunya menggunakan telnet.
> telnet telnet> telnet> open 127.0.0.1 8000 Connecting To 127.0.0.1... GET /index.html HTTP/1.0 (Hit enter twice to send the terminating blank line ...) ... HTTP response message ... > telnet localhost 80 Trying 127.0.0.1... Connected to localhost. GET /index.html HTTP/1.0 ... HTTP response message ...

References and Resources


W3C HTTP specifications @ http://www.w3.org/standards/techs/http. RFC 2616 "Hypertext Transfer Protocol HTTP/1.1", 1999 @ http://www.ietf.org/rfc/rfc2616.txt. RFC 1945 "Hypertext Transfer Protocol HTTP/1.0", 1996 @ http://www.ietf.org/rfc/rfc1945.txt.

Anda mungkin juga menyukai