Minggu, 14 April 2013

Sejarah dan Pengertian HTTP


Protokol HTTP pertama kali dipergunakan dalam WWW pada tahun 1990. Pada saat tersebut yang dipakai adalah protokol HTTP versi 0.9. Versi 0.9 ini adalah protokol transfer dokumen secara mentah, maksudnya adalah data dokumen dikirim sesuai dengan isi dari dokumen tersebut tanpa memandang tipe dari dokumen.
Kemudian pada tahun 1996 protokol HTTP diperbaiki menjadi HTTP versi 1.0. Perubahan ini untuk mengakomodasi tipe-tipe dokumen yang hendak dikirim beserta enkoding yang dipergunakan dalam pengiriman data dokumen.Sesuai dengan perkembangan infrastruktur internet maka pada tahun 1999 dikeluarkan HTTP versi 1.1 untuk mengakomodasi proxy, cache dan koneksi yang persisten.
Banyak mungkin yang sudah mendengar istilah HTTP bagi mereka yang suka baermain di dunia maya. Untuk itu artikel ini semoga bisa membantu andauntuk lebih mengetahui apa itu HTTP atau Hypertext Transfer Protocol. Menurut Riza [1] seperti dalam bukunya yang berjudul Manajemen Jaringan, protokol transfer utama yang digunakan oleh world wide web adalah Hypertext Transfer Protocol (HTTP). Ini adalah protocol aplikasi berbasisi klien server sederhana yang dibangun di atas TCP (Transmission Control Protocol). Transakasi yang khas dari HTTP adalah klien melakukan koneksi dengan server HTTP, dan melakukan permintaan untuk sumber yang diinginkan dan menunggu respon dari server. Setelah menerima permintaan klien dan mengirimkan respon dan menutup koneksi. Respon dapat berupa sumber yang diinginkan atau dapat juga hasil dari eksekusi dalam kasus resource yang diinginkan adalah sebuah sumber yang dapat dieksekusi. Klien mengalamatkan sumber yang dibutuhkan dengan URL (Uniform Resource Location), yaitu alamat fisik dari objek yang dapat diambil menggunakan server (DNS atau alamat IP) dan nama dari sumber yang diminta. Nama server (DNS) dan nama sumber dipisahkan dengan tanda ”/”. Sebagai contoh di bawah ini menunjukkan permintaan HTTP yang berisi URL dari sumber yang diminta.
http://netmon.itb.ac.id/~netman/index.htmlNetmon.itb.ac.id adalah nama DNS dari server, dan ~netman/index.html adalah nama dari sumber. Ada beberapa operasi HTTP yang tesalah satu contohnya adalah GET dan POST. Operasi GET digunakan untuk meminta sumber dari server. Operasi POST digunakan untuk mengirim informasi ke sumber yang ada di server. Server akan merespon dengan header HTTP yang diikuti dengan bagian data. Pada kasus operasi pemberian GET, respon dari server akan berisi sumber yang diminta klien. Jika server menerima operasi POST, server akan melewatkan data yang ada pada operasi POST ke sumber yang dapat dieksekusi. Setelah server menerima kembali hasil dari sumber tersebut, server akan memasukkan hasil tersebut ke HTTP respon yang dikirim kembali ke klien.Spesifikasi protokol ini didefinisikan oleh Tim Bernersleedalam RFC (Request For Comment – ) 1945 dan digunakan diInternetsejak tahun 1990.HTTP/1.0, yang didefinisikan di RFC 1945 melengkapinya denganmemperbolehkan pesan yang terkirim dalam format MIME ( Multipurpose Internet Mail Extensions ), yang mengandung meta informasi tentang data yang ditransfer dan pengubahnya. Sesuai dokumentasi IETF, HTTP/1.0 sendiri tidaklah cukup untuk menangani proxy (analogikan proxy dengan pintu keluar masuk koneksi dalam jaringan yang memiliki banyak komputer dengan koneksi internet tunggal ) bertingkat, caching ( tempat penyimpanan sementara, biasanya program akan mencari ke sini terlebih dahulu untuk informasi yang diminta ), kebutuhan untuk koneksi persistem dan virtual host ( host yang secara nyata tidak ada, biasanya hanya merupakan semacam alias ). Hal ini kemudian disempurnakan oleh versi berikutnya dari HTTP, yakni HTTP/1.1 (RFC 2068), yang kita gunakan sekarang. HTTP sendiri juga digunakan sebagai protokol umum untuk komunikasi diantara berbagai user agent ( user agent adalah istilah yang digunakan untuk program yang dijalankan di sisi client, seperti web browser misalnya dalam konteks HTTP ) dan proxy/gateway dengan sistem internet lain seperti SMTP (Simple Mail Transfer Protocol – RFC 821 ), NNTP ( Network News Transfer Protocol – RFC 977 ), FTP ( File Transfer Protocol – RFC 959 ), Gopher ( RFC 1436 ) dan WAIS ( Wide Area Information Servers ). Dengan demikian, HTTP mengijinkan akses pada sumber daya yang tersedia pada aplikasi yang berbeda.PengertianHTTP (HyperText Transfer Protocol) adalah protokol yang dipergunakan untuk mentransfer dokumen dalam World Wide Web (WWW atau sebuah protokol meminta/menjawab antara client dan server. Sebuh client HTTP seperti web browser, biasanya memulai permintaan dengan membuat hubungan TCP/IP ke port tertentu di tuan rumah yang jauh (biasanya port 80). ). Protokol ini adalah protokol ringan, tidak berstatus dan generik yang dapat dipergunakan berbagai macam tipe dokumen.Pengembangan HTTP dikoordinasi oleh Konsorsium World Wide Web (W3C) dan grup bekerja Internet Engineering Task Force (IETF), yang menjelaskan HTTP/1.1, versi HTTP yang digunakan umum sekarang ini. Atau protokol application level (dalam OSI seven layer) untuksistem informasi yang terdistribusi, kolaboratif dan hypermedia. Definisi hypermedia sendiri merujuk pada suatu media yang merupakan kombinasidari berbagai media lainnya.HTTP mendefinisikan bagaimana suatu pesan bisa diformat dan dikirimkan dari server ke client. HTTP juga mengatur aksi-aksi apa saja yang harus dilakukan oleh web server dan juga web browser sebagai respon atas perintah-perintah yang ada pada protokol HTTP ini. Sebagai contoh, ketika Anda mengetikkan suatu alamat atau URL pada internet browser Anda, maka sebenarnya web browser akan mengirimkan perintah HTTP ke web server. Web server kemudian akan menerima perintah ini dan melakukan aktivitas sesuai dengan perintah yang diminta oleh web browser (misalnya akses ke database, file, e-mail dan lain sebagainya). Hasil aktivitas tadi akan dikirimkan kembali ke web browser untuk ditampilkan kepada pengguna.di bawah adalah contoh-nya:Sebuah server HTTP yang mendengarkan di port tersebut menunggu client mengirim kode permintaan (request), seperti “GET / HTTP/1.1″ (yang akan meminta halaman yang sudah ditentukan), diikuti dengan pesan MIME yang memiliki beberapa informasi kode kepala yang menjelaskan aspek dari permintaan tersebut, diikuti dengan badan dari data tertentu. Beberapa kepala (header) juga bebas ditulis atau tidak, sementara lainnya (seperti tuan rumah) diperlukan oleh protokol HTTP/1.1. Begitu menerima kode permintaan (dan pesan, bila ada), server mengirim kembali kode jawaban, seperti “200 OK”, dan sebuah pesan yang diminta, atau sebuah pesan error atau pesan lainnya.Server HTTP Apache atau Server Web/WWW Apache adalah server web yang dapat dijalankan di banyak sistem operasi (Unix, BSD, Linux, Microsoft Windows dan Novell Netware serta platform lainnya) yang berguna untuk melayani dan memfungsikan situs web. Protokol yang digunakan untuk melayani fasilitas web/www ini mengunakan HTTP.Akhir-akhir  ini, hampir setiap lembaga mempunyai website yang digunakan sebagai sarana informasi yang up-to-date. Untuk dapat menghasilkan fasilitas tersebut, harus menyimpan dokumen web di web server agar dapat dibuka dari client.  Hal ini sering disebut dengan hosting. Untuk dapat membangun webserver dibutuhkan software sebagai web server, sofware ini sangat banyak sekali namun untuk platform Linux, web server yang terkenal handal adalah Apache. Apache merupakan salah satu Open Source program yang digunakan sebagai web server. Web client dan Web server berkomunikasi menggunakan protokol HTTP (HyperText Transfer Protocol). Web client  adalah komputer yang tergabung dalam jaringan atau internet yang meminta informasi. Untuk dapat mengakses web server, web client menggunakan aplikasi yang disebut Web browser. Web server adalah komputer yang tergabung dalam jaringan atau internet yang memberikan informasi. HTTP (HyperText Transfer Protocol) adalah protokol yang dipergunakan untuk mentransfer dokumen dalam World Wide Web (WWW). Protokol ini adalah protokol ringan, tidak berstatus dan generik yang dapat dipergunakan berbagai macam tipe dokumen.Apache memiliki fitur-fitur canggih seperti pesan kesalahan yang dapat dikonfigur, autentikasi berbasis basis data dan lain-lain. Apache juga didukung oleh sejumlah antarmuka pengguna berbasis grafik (GUI) yang memungkinkan penanganan server menjadi mudah.Apache merupakan perangkat lunak sumber terbuka dikembangkan oleh komunitas terbuka yang terdiri dari pengembang-pengembang dibawah naungan Apache Software Foundation.World Wide Web Consortium (W3C) adalah suatu konsorsium yang bekerja untuk mengembangkan standar-standar untuk World Wide Web. Spesifikasi teknologi-teknologi utama yang dipakai sebagai basis utama web, seperti URL (Uniform Resource Locator), HTTP (HyperText Transfer Protocol), dan HTML (HyperText Markup Language) dikembangkan dan diatur oleh badan ini.World Wide Web (“WWW”, atau singkatnya “Web”) adalah suatu ruang informasi di mana sumber-sumber daya yang berguna diidentifikasi oleh pengenal global yang disebut Uniform Resource Identifier (URI). WWW sering dianggap sama dengan Internet secara keseluruhan, walaupun sebenarnya ia hanyalah bagian dari padanya.Hyperteks dilihat dengan sebuah program bernama browser web yang mengambil informasi (disebut “dokumen” atau “halaman web”) dari server web dan menampilkannya, biasanya di sebuah monitor. Kita lalu dapat mengikuti pranala di setiap halaman untuk pindah ke dokumen lain atau bahkan mengirim informasi kembali kepada server untuk berinteraksi dengannya. Ini disebut “surfing” atau “berselancar” dalam bahasa Indonesia. Halaman web biasanya diatur dalam koleksi material yang berkaitan yang disebut “situs web”.

Web Developer


Web developer adalah seseorang yang menciptakan aplikasi berbasis web dengan menggunakan bahasa pemrograman. Pada dasarnya, web developer membuat berbagai hal “terjadi” pada sebuah website. Peran web developer adalah sebagai penghubung dari semua sumber daya yang akan digunakan pada sebuah website, mulai dari pemanggilan database, membuat halaman website yang dinamis, hingga mengatur cara pengunjung untuk berinteraksi dengan elemen-elemen dari website tersebut.Seorang web developer yang handal akan terbiasa dengan bahasa pemrograman, baik itu di sisi server ( server-side scripting ) maupun disisi client ( client-side scripting ). Dan jangan lupa dengan aspek database yang akan digunakan.  Web developer dapat ditemukan bekerja di semua jenis organisasi, termasuk perusahaan-perusahaan besar dan pemerintah, perusahaan kecil dan menengah, atau sendirian sebagai freelancer. Beberapa pengembang web bekerja untuk satu organisasi sebagai karyawan penuh-waktu permanen, sementara yang lain dapat bekerja sebagai konsultan independen, atau sebagai kontraktor untuk agen tenaga kerja.
 Aplikasi web modern sering mengandung tiga atau lebih tingkatan, [1] dan tergantung pada ukuran tim pengembang bekerja pada, ia mungkin spesialisasi dalam satu atau lebih tingkatan ini - atau mungkin mengambil peran yang lebih interdisipliner [2]. Misalnya, dalam sebuah tim dua orang, satu pengembang dapat fokus pada teknologi yang dikirim ke klien seperti HTML, JavaScript, CSS, dan kerangka server-side (seperti Perl, Python, Ruby, PHP, Java, ASP, NET.,. NET MVC) digunakan untuk memberikan konten dan skrip untuk klien. Sementara pengembang lain mungkin fokus pada interaksi antara kerangka sisi server, web server, dan sistem database. Selanjutnya, tergantung pada ukuran organisasi mereka, para pengembang tersebut mungkin bekerja sama dengan pencipta konten / copy writer, penasihat pemasaran, web designer, web produser, manajer proyek, arsitek perangkat lunak, atau database administrator - atau mereka mungkin bertanggung jawab untuk seperti tugas sebagai desain web dan manajemen proyek sendiri. Tidak ada persyaratan pendidikan atau lisensi formal untuk menjadi seorang pengembang web. Namun, banyak perguruan tinggi dan sekolah perdagangan menawarkan kursus dalam pengembangan web. Ada juga banyak tutorial dan artikel, yang mengajarkan pengembangan web, tersedia secara bebas di web - misalnya: http://en.wikiversity.org/wiki/Basic_JavaScriptMeskipun tidak ada persyaratan pendidikan formal, berurusan dengan proyek pengembangan web membutuhkan orang-orang yang ingin disebut sebagai pengembang web untuk memiliki pengetahuan / keterampilan maju dalam:HTML / XHTML, CSS, JavaScriptArsitektur server side / ClientPemrograman / Coding / Scripting di salah satu dari banyak kerangka server-side (setidaknya salah satu dari:.. Perl, Python, Ruby, PHP, CFML - ColdFusion, Java, ASP, NET, NET MVC)


Sumber: Wikipedia
http://www.rumahweb.com/journal/web-developer-web-designer-dan-webmaster.htm