Pages

Powered by Blogger.

Wednesday, May 7, 2014

Tugas Pemrograman Web

Tugas 5
1.      Jelaskan prinsip kerja protokol HTTP 1.1
Jawab:
Server mendukung koneksi TLS 1.0 dan segera mengembalikan respon. Protokol 1.1 mendefinisikan koneksi persisten dan karena server mendukung versi 1.1 link tidak menandatangani sekarang, tapi sambil menunggu perintah lebih lanjut. Klien dapat terus query elemen lain halaman HTML (gambar, ...) dan menutup sambungan itu sendiri.
Tanggapan berisi versi protokol, kode respon (1 × x - informatif , 2 × x - Sukses , 3 × x - call forwarding, 4 × x - kesalahan pada sisi klien, atau 5 × x - kesalahan pada sisi server) dan respon pesan teks ("OK"). Jawabannya juga berisi header , baris kosong sebagai pemisah dan biasanya tubuh dari respon (tetapi tidak selalu, lihat OPTIONS atau HEAD). Contoh di atas adalah benar-benar buruk. Karena kenyataan bahwa koneksi di HTTP 1.1 gigih, harus menjadi tubuh panjang respon header yang tepat (atau setidaknya jenis encoding) bahwa klien tahu di mana ujung jawaban dan mungkin bisa meminta lagi (berdasarkan data). Klien juga dapat mengirim pertanyaan tanpa menunggu jawaban server dalam kasus ini diperlukan untuk menangani permintaan dalam urutan yang sama mereka diterima.

Metode
GET
adalah metode yang paling banyak digunakan. Digunakan untuk mengambil objek (file html , gambar , apa pun ...) dari server. Oleh karena itu, permintaan GET disertai dengan banyak head yang menentukan bagaimana dokumen sudah tua, apakah itu dimodifikasi sehingga GET permintaan biasanya tidak memiliki tubuh.
POST
Dengan menggunakan metode ini dapat diangkut dalam tubuh informasi server dari pengguna (mereka sering digunakan untuk mengirim data luas POST dari bentuk web, meng-upload file, dll) .
HEAD
berperilaku persis seperti GET, tapi jawabannya tidak ditularkan oleh tubuh. Query ini berguna misalnya untuk menentukan apakah objek tersebut ada (saat memeriksa link pada halaman).
PUT / DELETE
menciptakan/menghapus objek dari server. Metode ini digunakan secara luas dalam praktek.
OPTIONS
digunakan untuk memperoleh informasi tentang konteks (atau " * " untuk seluruh server). Klien dapat menentukan pertanyaan dapat dikirim ke konteks tertentu .
TRACE
digunakan untuk melacak jalur seluruh query. Dalam tubuh menjawab klien akan baik berbaris semua pertanyaan sistem individual, yang menuntut melalui. Metode ini digunakan oleh administrator dan programer web yang ingin mencari tahu mengapa server mereka kembali seperti kadaluarsa (Expired) dokumen, dll
CONNECT
digunakan untuk protokol HTTP tunneling (seperti SSL) .
header
Protokol HTTP versi 1.1 mendefinisikan sejumlah besar header untuk pertanyaan dan jawaban. Berikut adalah beberapa di antaranya:
Header Query
Accept *
Header tipe ini mengindikasikan apa yang klien mampu memproses. Server kemudian memilih alternatif yang paling tepat. Ini termasuk Menerima header (MIME jenis dokumen), Accept-Charset (charset, dalam lingkungan Republik sangat penting), Accept-Encoding (pengkodean data, biasanya digunakan untuk memilih kompresi) dan Accept-Language (bahasa dokumen).
Connection
Dalam HTTP 1.1 didefinisikan oleh parameter "dekat", yang menyerukan untuk segera menutup koneksi setelah transmisi pertama dari dokumen yang diminta.
Referer
Klien berkomunikasi header ini URI dari halaman dari link yang dihasilkan.
Host
HTTP 1.1 memperkenalkan dukungan untuk apa yang disebut server virtual berbasis nama. Metode ini memungkinkan Anda untuk menjalankan beberapa virtual server pada satu alamat IP, tapi klien harus menggunakan header ini untuk menentukan nama server yang Anda ingin berkomunikasi.
User- Agent
Header ini harus mengidentifikasi program klien, baik untuk keperluan statistik atau untuk menyediakan konten yang berbeda untuk browser yang berbeda dan sejenisnya.
Response header
content *
Tajuk menggambarkan isi (body) tanggapan. Mereka berisi panjang konten (Content-Length), yang MD5 digest (Content-MD5, bahasa (Content-Language) tipe dokumen (Content-Type) dan atribut lainnya. Perlu dicatat bahwa header ini tidak digunakan hanya sebagai jawaban-kecuali permintaan juga berisi tubuh (misalnya metode POST), biasanya perlu juga digunakan.
Server
Header ini digunakan untuk mengidentifikasi server itu sendiri (biasanya kita dapat menemukan namanya, versi, dan kadang-kadang bahkan lebih).
Expire
Server melalui data ini dapat mengetahui bahwa dokumen berakhir . Setelah waktu ini, klien harus men-download versi baru .
Ada juga sejumlah header lain, yang bisa misalnya mengelola klien men-download dokumen ("download hanya jika dokumen itu diubah oleh ... ") atau bahkan sebelum server nama pengguna dan password untuk akses ke bagian non - publik situs Anda. Demikian pula, server dapat lebih halus menggambarkan jawaban Anda dan memberitahu klien, misalnya, ketika dokumen terakhir diubah, atau apakah caching diaktifkan pada publik atau swasta.

2.      Jelaskan yang saudara ketahui tentang web server, server-side script, dan user-agent
Jawab:
-          Web server
Web server merupakan software yang memberikan layanan data yang berfungsi menerima permintaan HTTP atau HTTPSdari klien yang dikenal dengan browser web dan mengirimkan kembali hasilnya dalam bentuk halaman - halaman web yang umumnya berbentuk dokumen HTML
Macam - macam Web Server diantanya:
Apache Web Server - The HTTP Web Server
1.Apache Tomcat
2.Microsoft windows Server 2003 Internet Information Services (IIS)
3.Lighttpd
4.Sun Java System Web Server
5.Xitami Web Server
6.Zeus Web Server
Namun web yang terkenal dan yang sering digunakan adalah Apache dan Microsoft Internet Information Service (IIS).

Prosesnya dimulai dari permintaan web client (browser), diterima web server, diproses, dan dikembalikan hasil prosesnya oleh web server ke web client lagi dilakukan secara transparan. Setiap orang dapat dengan mudah mengetahui apa yang terjadi pada tiap-tiap proses. Secara garis besarnya web server hanya memproses semua masukan yang diperolehnya dari web clientnya.

-          Server-side script
Server-side scripting adalah suatu skrip yang tertanam pada server yang secara otomatis mengeksekusi permintaan dari browser (sisi client) kepada server dan biasanya menghasilkan kustom tanggapan untuk klien. Server-side script dapat mengakses struktur direktori pada file server, ia juga memiliki akses ke server-side perangkat lunak yang membentang secara fungsionalitas pada server. Bisa juga disebut dengan komponen ActiveX untuk Microsoft Web server dan modul untuk Apache Web server. Script sisi server secara visual tidak terlihat oleh klien; hanya XHTML (ditambah setiap sisi klien) skrip yang akan terlihat oleh klien. Server-side scripting adalah teknologi web server di mana permintaan dari setiap pengguna dapat dipenuhi dengan menjalankan skrip langsung pada web server untuk membuat halaman HTML secara dinamis .
Beberapa contoh Server Side Scripting (Programming) :
1. ASP (Active Server Page) dan ASP.NET
2. ColdFusion (http://www.macromedia.com/software/coldfusion)
3. Java Server Pages (http://java.sun.com/products/jsp/)
4. Perl (http://www.perl.org)
5. Phyton (http://www.python.org)
6. PHP (http://www.php.net)
-          User-agent
User Agent adalah aplikasi yang mengandung berbagai macam string pada pihak client untuk berkomunikasi dengn pihak web server.
Didalam suatu user agent, terdapat berbagai macam string yang berisi informasi pada client dan informasi tersebut berupa nama browser, versi browser, sistem operasi dan masih banyak lainnya.
Pada saat browser mengakses suatu halaman web, maka web server akan menggunakan informasi yang terdapat dalam useragent string untuk menampilkan konten yang disesuaikan dengan user agent browser yang sedang digunakan.
Kesimpulan dari User Agent adalah identitas browser yang kita gunakan. Kalau kita menggunakan browser, maka akan terdeteksi identitas masing - masing browser tersebut.

Beberapa manfaat dari merubah user agent adalah sebagai berikut :
·         Memalsukan identias browser yang sedang digunakan
·         Mengakses web page yang tidak dapat diakses oleh browser tertentu
·         Mengakses Mobile Website yang hanya dapat diakses dengan handphone bagi pengguna pc
·         Dan masih banyak manfaat lainnya

3.      Jelaskan perbedaan interaksi stateless dengan stateful. Sebutkan pula kelebihan dari masing-masing interaksi tersebut.
Jawab:
-          Stateful
·         server menyimpan informasi tentang file yang terbuka, dan posisi file sekarang (current position).
·         Open (dibuka) sebelum access dan kemudian ditutup
·         Menyediakan file locks
-           Stateless
·         server tidak menyimpan state informasi
·         operasi file harus mengandung semua yang diperlukan (memuat pesan yang lengkap).
·         Dapat dengan mudah di-recovery apabila terjadi client ataupun server crach
·         Membutuhkan extra lock server untuk mempertahankan state

4.      Jelaskan perbedaan metode pengiriman formulir secara GET dan POST, berikan masing-masing sebuah contoh penggunaan metode tersebut.
Jawab:
Ketika menggunakan method POST, pada URL browser tidak ditampilkan data apa yang tadi dikirimkan. karena pengiriman data dikirim melalui request body dan hasil dari method POST ini tidak bersifat cacheable (dapat disimpan dalam cache). Biasanya data yang dikirimkan adalah data yang bersifat credential, misalnya password (yang berhubungan dengan keamanan).
Sedangkan jika menggunakan method GET, pada URL browser menampilkan data yang telah dikirimkan. Ini dikarenakan pada method GET menampilkan apapun informasi yang didentifikasi oleh URL pada request. Data yang dikirimkan berupa data aksi/id saja dan tidak bersifat credential.

Contoh:
-          Method POST
POST digunakan untuk mengirim data yang lebih rahasia seperti password, misalnya saat kita login pada halaman facebook
-          Method GET
Digunakan lebih untuk keperluan mengambil data

5.      Jelaskan prinsip kerja cookie
Jawab:
Pada saat sebuah cookies dikirimkan dari server ke sebuah baris ditambahkan pada HTTP header. Berikut adalah contohnya: 

Content-type:text/html
Set-Cookies:xyz=abc;path=/;expires Mon, 31-Des-2010 13:00:00 GMT
Header tersebut bernama xyz, nilai (value) untuk xyz adalah abc. Selain memiliki Path / yang berarti isi situs yang valid serta memiliki batas waktu (expires) hingga 31 Desember 2010 pada pukul 13:00:00 GMT

Pada sebuah cookies dikirimkan dari browser menuju server, header-nya berbentuk:

Content-type:text/html
Cookies:xyz=abc

Disini diketahui, adanya sebuah cookies yang bernama xyz dengan value abc. 

Detil Parameter Cookies
Seperti yang telah dibahas sebelumnya, secara sederhana, sebuah cookies terdiri atas sebuah nama dan value. Pada dasarnya cookies memiliki 6 Parameter yaitu:
• Nama cookies, (name)
• Value (nilai) cookies,
• Batas waktu (expires) cookies,
• Path yang menunjukkan cookies tersebut valid untuk,
• Domain cookies valid untuk,
• Kebutuhan akan koneksi yang aman (secure) dalam menggunakan cookies


Secara global, setelah sebuah cookies dikirimkan melalui HTTP header, lalu disimpan dalam memori browser. Jadi, apabila seseorang tidak dalam keadaan browsing atau computer dimatikan browser memindahkan memorinya ke dalam hardisk. Jadi, apabila Anda mengakses browser hari kemudian, Anda masih tetap memiliki cookies yang lama. Jadi, setiap kali mengaktifkan browser cookies dibaca dari hardisk, dan setiap kali menutup browser menyimpanya kembali kedalam hardisk. Setelah cookies mencampai tanggal massa berlaku (epires) cookies dihapus dari dalam memori dan tidak lagi disimpan didalam hardisk.

6.      Jelaskan prinsip kerja session.
Jawab:
Ada tiga slternatif yang dapat digunakan untuk menyimpan data session:
·         Cookie
·         Hidden Form
·         URL EMbedding

Secara umum, cara kerja session dapat dideskripsikan seperti Saat pengunjung mengakses suatu halaman, pengunjung tersebut memulai session (digunakan fungsi session_start()). Bila dalam konfigurasi php, session.auto_start diset ke 1 maka php akan melakukan start session secara otomatis.


Pengunjung tadi kemudian diberi pengenal berupa session id, Session id ini adalah rangkaian karakter yang unik, misalnya 12345678xx.. Bersamaan dengan itu, pada sisi server juga dibuat file ses_12345678xx yang berisi variabel-variabel session milik si pengunjung. Variabel yang diregister dengan fungsi session_register() akan disimpan dalam file ini.


Metode di atas adalah default. Tetapi bisa jug menentukan lokasi penampungan variabel session sendiri, misalnya di database. Saat pengunjung memulai atau melanjutkan session (melalui session_start()) maka pengunjung mengirim session id miliknya untuk memperoleh kembali variabel-variabel session miliknya yang telah disimpan di server.


Pengiriman session id ke server bisa melalui 2 cara. Yang pertama, yaitu cara default, dikirim melalui cookies. Session id berupa cookie PHPSESSID (default). Ada kalanya dengan alasan tertentu, pengunjung menonaktifkan cookies (bisa dilakukan melalui setting browsernya). Bila hal ini terjadi, maka pengiriman session id dilakukan dengan cara kedua, yaitu melalui query string (string yang ditambahkan ke URL, seperti contoh di awal artikel).


Session akan berakhir saat fungsi session_destroy() dipanggil atau sewaktu user menutup web browsernya. Dari cara kerja session tadi, terlihat bahwa yang menjadi kunci pegangan si pengunjung (di sisi client) hanyalah variabel session id, sedangkan variabel-variabel lain miliknya di server. Adanya fasilitas session handling di PHP menjadikan proses diatas menjadi sederhana dan mudah karena PHP melakukannya otomatis.

Jadi, session merupakan hal yang cukup penting dalam aplikasi berbasis web. Dengan session memungkinkan programmer menyimpan informasi user secara semi-permanen, artinya selama masa tertentu informasi akan tersimpan. Penyimpanan isi variabel session berada di server, jadi tidak bisa diakses secara langsung oleh client.


Dalam aplikasi berbasis web, session banyak digunakan sebagai autentifikasi login. Dengan session memungkinkan programmer mengatur siapa saja yang bisa mengakses suatu halaman. Misalnya saja, untuk melihat halaman kotak surat pada email, kita harus login terlebih dahulu. Dalam proses login antara lain akan terjadi pembuatan suatu session yang akan dibawa oleh user di setiap halaman. Di halaman kotak surat, session tersebut akan diperiksa. Jika session benar maka user dipersilahkan membuka halaman kotak surat, namun jika salah maka user tidak bisa membuka halaman kotak surat dan biasanya akan diminta untuk login terlebih dahulu. Itulah sebabnya, user tidak bisa mengakses halaman kotak surat secara langsung tanpa melakukan login.

No comments:

Post a Comment

 

Blogger news

Blogroll

About