Hypertext Transfer Protocol
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 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 : (Inisialisasi koneksi)
C : GET /
index.htm HTTP/1.1
C : Host:
http://www.wikipedia.org
S : 200 OK
S : Mime-type: text/html
S :
S : — data dokumen —
S : (close connection)
Hypertext markup language
HyperText Markup Language (HTML) adalah sebuah
bahasa markup yang digunakan untuk membuat sebuah halaman web, menampilkan berbagai informasi di dalam sebuah
Penjelajah web
Internet dan formating hypertext sederhana yang ditulis kedalam berkas
format ASCII agar dapat menghasilkan tampilan wujud yang terintegerasi.
Dengan kata lain, berkas yang dibuat dalam perangkat lunak pengolah kata
dan disimpan kedalam format
ASCII
normal sehingga menjadi home page dengan perintah-perintah HTML.
Bermula dari sebuah bahasa yang sebelumnya banyak digunakan di dunia
penerbitan dan percetakan yang disebut dengan
SGML (Standard Generalized Markup Language), HTML adalah sebuah standar yang digunakan secara luas untuk menampilkan halaman web. HTML saat ini merupakan standar
Internet yang didefinisikan dan dikendalikan penggunaannya oleh
World Wide Web Consortium
(W3C). HTML dibuat oleh kolaborasi Caillau TIM dengan Berners-lee
robert ketika mereka bekerja di CERN pada tahun 1989 (CERN adalah
lembaga penelitian fisika energi tinggi di Jenewa).
[1]
- Tahun 1980, IBM memikirkan pembuatan suatu dokumen yang akan
mengenali setiap elemen dari dokumen dengan suatu tanda tertentu. IBM
kemudian mengembangkan suatu jenis bahasa yang menggabungkan teks
dengan perintah-perintah pemformatan dokumen. Bahasa ini dinamakan
Markup Langiage, sebuah bahasa yang menggunakan tanda-tanda sebagai
basisnya. IBM menamakan sistemnya ini sebagai Generalized Markup
Language atau GML.
- Tahun 1986, ISO menyatakan bahwa IBM memiliki suatu konsep
tentang dokumen yang sangat baik, dan kemudian mengeluarkan suatu
publikasi ( ISO 8879 ) yang menyatakan markup language sebagai standar
untuk pembuatan dokumen-dokumen. ISO membuat bahasa ini dari GML
milik IBM, tetapi memberinya nama lain, yaitu SGML ( Standard Generalized Markup Language ).
ISO dalam publikasinya meyakini bahwa SGML akan sangat berguna untuk
pemrosesan informasi teks dan sistem-sistem perkantoran. Tetapi diluar
perkiraan
ISO,
SGML dan terutama subset dari SGML, yaitu HTML juga berguna untuk
menjelajahi internet. Khususnya bagi mereka yang menggunakan World Wide
Web.
URL
Contoh URL
URL singkatan dari
Uniform Resource Locator (diterjemahkan:
Pelokasi Sumber Daya Seragam), adalah rangkaian
karakter menurut suatu format
standar tertentu, yang digunakan untuk menunjukkan
alamat suatu
sumber seperti
dokumen dan
gambar di
Internet.
[1]
URL merupakan suatu
inovasi dasar bagi perkembangan
sejarah Internet.
[1] URL pertama kali diciptakan oleh
Tim Berners-Lee pada
tahun 1991 agar
penulis-penulis dokumen-dokumen dapat merujuk
pranala ke
Jejaring Jagat Jembar atau
World Wide Web.
[1] Sejak
1994, konsep URL telah dikembangkan menjadi istilah
Uniform Resource Identifier (URI) yang lebih
umum sifatnya. Walaupun demikian, istilah URL masih tetap digunakan secara luas.
[1]
Uniform Resource Locator
URL menunjukkan
sumber daya Internet atau alamat sebuah
halaman web (
homepage) yaitu halaman suatu dokumen atau
program yang ingin ditampilkan atau digunakan.
[2] Secara umum perlu memasukkan
tiga informasi untuk menuju ke alamat tertentu
[2], yaitu :
Bagian pertaman URL menunjukkan protokol misalnya http:// atau
https://.
[2] Protokol adalah persetujuan bersama yang digunakan untuk berkomunikasi dengan
Hypertext Transfer Protocol.
[2] Bagian kedua URL menunjukkan alamat
server dimana sumber daya tersebut terletak, misalnya
http://www.microsoft.com untuk
website Microsoft Corporation.
[2] Bagian ketiga URL adalah path
file yaitu menunjukkan lokasi dan nama dokument atau program dalam server tersebut, misalnya:
kb/deskapp/word/q1974.html.[2] di mana
kb/deskapp/word/ adalah lokasi file dan
q1974.html adalah nama berkas.
[2]
Tipe URL
Ada dua tipe URL yang dapat digunakan,
[3] yaitu:
- URL Absolute (URL Absolut), merupakan alat lengkap yang
menyertakan domain pada jaringan yang tepat, direktori di dalam
domain, dan file di dalam direktori.[3]
- URL Relative (URL Relatif), menentukan suatu alamat berdasarkan URL yang aktif pada saat itu.[3]
Berikut ini adalah sintaks dan tipe URL: Service://host:port/path/filename.extension (Absolut)
Sedangkan dalam penggunaan URL tersebut dengan tag adalah sebagai berikut:
[3]
Serangan Lewat URL
URL merupakan sebuah mekanisme untuk mengenali sumber-sumber pada web,
SSL, atau server
FTP, termasuk protokol layer aplikasi yang membuat permintaan (
request) ke server web seperti contoh URL
http://www.coba.com/images/hardware/pda.html.
[4] URL tersebut dapat dijelaskan per bagian. Berkas
pda.html sedang di-
request oleh protokol HTTP dari sebuah server bernama http://www.coba.com. Lokasi pda.html dalam ruang situs tersebut adalah pada direktori /images/hardware.[4] Contoh lain seperti,
https://www.coba.com/order/buy.asp?itemA003&pmt=visa
Kemungkinan besar URL di atas dapat dimanfaatkan peretas (
hacker). Dugaan pertama bisa ditarik dari nama sumbernya,
buy.asp. Ekstensi .asp menandakan bahwa berkas ini adalah ASP. Berkas-berkas ASP berjalan secara khusus pada web server
Microsoft, yaitu
IIS. Dengan demikian kemungkinan besar
http://www.coba.com berjalan pada Windows NT/2000/XP.
[4]
Dari parameter-parameternya, dapat ditemukan lagi beberapa petunjuk.
Parameter pertama, item=A003, menandakan bahwa item yang sedang dibeli
itu mendapatkan kode item dan rincian item pasti disimpan pada
basis data /
database.
[4]
Action Get URL
Action Get URL digunakan untuk memanggil dokumen lain (
HTML,
ASP,
CGI, dan sebagainya) dari lokasi URL tertentu ke dalam jendela (
window) yang ditentukan oleh action get URL tersebut.
[5]
Action Get URL memiliki 3 parameter, yakni:
[5]
- URL, menyatakan alamat URl di mana dokumen yang hendak dipanggil berada.
- Window, menyatakan nama window atau frame di mana dokumen yang dipanggil hendak diletakkan.
- _self -> menunjuk frame yang sedang digunakan dalam window yang aktif.
- _blank menunjuk sebuah window baru.
- _parent -> menunjuk parent frame dari frame yang sedang digunakan.
- _top -> menunjuk frame utama dari window yang aktif.
- Variables, apakah secara GET, POST, atau tidak dikirimkan sama sekali.
File Transfer Protocol
FTP (singkatan dari
File Transfer Protocol) adalah sebuah
protokol Internet yang berjalan di dalam
lapisan aplikasi yang merupakan standar untuk pentransferan
berkas (
file)
komputer antar mesin-mesin dalam sebuah
internetwork.
FTP merupakan salah satu protokol Internet yang paling awal dikembangkan, dan masih digunakan hingga saat ini untuk melakukan
pengunduhan (download) dan
penggugahan (upload) berkas-berkas komputer antara
klien FTP dan
server FTP.
Sebuah Klien FTP merupakan aplikasi yang dapat mengeluarkan
perintah-perintah FTP ke sebuah server FTP, sementara server FTP adalah
sebuah Windows Service atau daemon yang berjalan di atas sebuah komputer
yang merespons perintah-perintah dari sebuah klien FTP.
Perintah-perintah FTP dapat digunakan untuk mengubah direktori, mengubah
modus transfer antara
biner dan
ASCII, menggugah berkas komputer ke server FTP, serta mengunduh berkas dari server FTP.
Sebuah server FTP diakses dengan menggunakan
Universal Resource Identifier (URI) dengan menggunakan format
ftp://namaserver. Klien FTP dapat menghubungi server FTP dengan membuka URI tersebut.
FTP menggunakan
protokol Transmission Control Protocol (TCP) untuk
komunikasi data
antara klien dan server, sehingga di antara kedua komponen tersebut
akan dibuatlah sebuah sesi komunikasi sebelum transfer data dimulai.
Sebelum membuat koneksi,
port TCP
nomor 21 di sisi server akan “mendengarkan” percobaan koneksi dari
sebuah klien FTP dan kemudian akan digunakan sebagai port pengatur (
control port)
untuk (1) membuat sebuah koneksi antara klien dan server, (2) untuk
mengizinkan klien untuk mengirimkan sebuah perintah FTP kepada server
dan juga (3) mengembalikan respons
server ke perintah tersebut. Sekali koneksi kontrol telah dibuat, maka server akan mulai membuka
port TCP
nomor 20 untuk membentuk sebuah koneksi baru dengan klien untuk
mentransfer data aktual yang sedang dipertukarkan saat melakukan
pengunduhan dan penggugahan.
FTP hanya menggunakan metode autentikasi standar, yakni menggunakan
username dan
password yang dikirim dalam bentuk tidak ter
enkripsi. Pengguna terdaftar dapat menggunakan
username dan
password-nya untuk mengakses, men-
download, dan meng-
upload
berkas-berkas yang ia kehendaki. Umumnya, para pengguna terdaftar
memiliki akses penuh terhadap beberapa direktori, sehingga mereka dapat
membuat
berkas, membuat
direktori, dan bahkan menghapus berkas. Pengguna yang belum terdaftar dapat juga menggunakan metode
anonymous login, yakni dengan menggunakan nama pengguna
anonymous dan
password yang diisi dengan menggunakan alamat
e-mail.