Pemrograman Jaringan Web & DNS Aurelio Rahmadian
Objektif Web ◦ Konsep Dasar ◦ Arsitektur ◦ HTTP DNS ◦ Definisi ◦ Proses Kerja
Web – Konsep Dasar Sejarah Web Ditemukan oleh Tim Berners-Lee Konsep dari universal readership: ◦ any individual, ◦ on any type of computer, ◦ in any location, ◦ should be able to access data ◦ by using only one simple and common program
Web – Konsep Dasar Internet Interconnected Networks ◦ Interoperable via standards (TCP/IP) Sejarah ◦ ARPANet (akhir 60-an, awal 70-an) – militer ◦ Diambil alih & didanai oleh NSF (1986) ◦ Commercial backbones ( kini)
Web – Konsep Dasar Internet vs Intranet Internet ◦ Global, open, public ◦ Disebut juga “extranet” untuk membedakannya dari Intranet Intranet ◦ Jaringan pribadi untuk digunakan secara eksklusif oleh sebuah organisasi ◦ Umumnya berada di belakang firewall
Web – Konsep Dasar LAN
Web – Konsep Dasar WAN
Web – Konsep Dasar Internet
Web – Konsep Dasar Internet vs Web Internet menyediakan infrastruktur dari transmisi informasi melalui jaringan Web berisi interlinked information (web pages)
Web – Arsitektur Sistem web merupakan aplikasi yang: ◦ Berarsitektur client-server Software web browser di sisi client Software web server di sisi server ◦ Menggunakan protokol HTTP dalam komunikasi antara client dan server Mempunyai fungsi untuk mengambil/menjalankan isi file dokumen web di server dan menampilkannya di sisi client
Web – Arsitektur
Client ◦ User-agent ◦ Program yang digunakan untuk melakukan request ke server dan mengolah respon dari server ◦ Menampilkan informasi yang berasal dari server (teks dan gambar)
Web – Arsitektur Server ◦ Berbentuk software/program (daemon, httpd) yang dijalankan pada komputer server ◦ Berfungsi agar dokumen web yang disimpan di server dapat diakses oleh user melalui internet/intranet ◦ Web servers : server yang menyediakan layanan web ◦ Web site = host + Web server + information (file system)
Web – Arsitektur Web server Apache dapat ditemukan dalam paket XAMPP
Web – Arsitektur URL (Uniform/Universal Resource Locator) ◦ URL adalah sistem pengalamatan file yang digunakan di internet ◦ Format URL standar dideskripsikan di RFC 1738
Web – HTTP HTTP (Hyper Text Transfer Protocol) adalah protokol yang dipergunakan untuk mentransfer dokumen dalam World Wide Web (WWW) Protokol ini ringan, tidak berstatus, dan generik yang dapat dipergunakan berbagai macam tipe dokumen Pengembangan HTTP dikoordinasi oleh Konsorsium World Wide Web (W3C) dan Internet Engineering Task Force (IETF) Versi yang umum digunakan adalah HTTP/1.1 (RFC 2616)
Web – HTTP HTTP adalah sebuah protokol meminta/menjawab antara client dan server. Sebuah client HTTP seperti web browser, biasanya memulai permintaan dengan membuat hubungan TCP/IP ke port tertentu di server (biasanya port 80)
Web – HTTP HTTP servers, browsers & proxies ◦ Web server dan browser bertukar informasi menggunakan HTTP, oleh karena itu web server sering disebut sebagai HTTP server ◦ Web browser seringkali disebut sebagai HTTP client, tetapi fungsi/kemampuannya tidak terbatas pada HTTP saja ◦ HTTP proxy adalah program yang berperan sebagai server dan client, yakni meminta request pada web server atas nama client yang lain ◦ Proxy memungkinkan pengiriman HTTP melalui firewall, mendukung caching dari pesan HTTP, serta filtering dari request HTTP
Web – HTTP HTTP Proxy
Web – HTTP Contoh Transaksi ◦ S = Server C = Client ◦ C : (Inisialisasi koneksi) C : GET /index.htm HTTP/1.1 C : Host: S : 200 OK S : Mime-type: text/html S : S : -- data dokumen -- S : (close connection)
Web – HTTP Status code adalah tiga digit integer, dan digit pertama menentukan kategori umum dari respon: ◦ 1xx indicates an informational message ◦ 2xx indicates success of some kind ◦ 3xx redirects the client to another URL ◦ 4xx indicates an error on the client's part Yes, the system blames it on the client if a resource is not found (i.e., 404) ◦ 5xx indicates an error on the server's part
DNS – Definisi Domain Name System (DNS) merupakan sistem penamaan hirarki atas komputer, service, atau resource yang terhubung ke jaringan DNS membantu user dalam mengakses informasi melalui Internet
DNS – Definisi Secara konsep DNS berperan sebagai buku telepon untuk Internet, yakni memetakan hostname (misal ke alamat IP (misal ) Domain name lebih mudah untuk diingat dan diucapkan dibandingkan alamat IP
DNS – Definisi Hirarki dari domain menurun dari kanan ke kiri (bagian kiri merupakan subdomain bagian kanan) Bagian paling kanan merupakan top-level domain, misalkan merupakan bagian dari top-level domain “.com”
DNS – Definisi
Internet Assign Number Authority (IANA) adalah organisasi yang bertanggung jawab atas pembagian DNS root zone Pada 1980an domain name space dibagi menjadi 2 bagian utama, yaitu: ◦ country code top-level domain (ccTLD) yang berupa dua karakter kode teritori (kependekan dari nama negara) ◦ generic top-level domain (gTLD) yang merepresentasikan 7 kategori dari nama dan organisasi yaitu gov, edu, com, mil, org, net, int
DNS – Proses Kerja Misalkan user merupakan pegawai di perusahaan XYZ, ingin mengakses melalui web browser, maka user perlu memasukkan hostname tersebut sebagai URL pada address bar
DNS – Proses Kerja 1. Web browser menerima input hostname, memanggil local resolver untuk memproses 2. Resolver memeriksa cache apakah sudah ada alamat untuk nama tersebut, kalau sudah maka alamat tersebut diberikan ke web browser ◦ Resolver juga memeriksa host table file apakah ada static mapping (Untuk OS Windows ada di C:\Windows\system32\drivers\etc\hosts)
DNS – Proses Kerja 3. Resolver membuat query dan mengirimnya ke local DNS server (misalkan ns1.xyzindustries.com) 4. Local DNS server menerima request dan memeriksa cache. Juga memeriksa apakah memiliki record zone yang dapat mencari 5. ns1.xyzindustries.com membuat request atas hostname yang dicari dan mengirimnya ke root name server
DNS – Proses Kerja 6. Root name server tidak memberikan penyelesaian akhir, hanya memberikan nama dan alamat dari name server untuk domain “.edu” 7. ns1.xyzindustries.com membuat request atas hostname yang dicari dan mengirimnya ke name server untuk “.edu” 8. Name server “.edu” memberikan nama dan alamat dari name server untuk domain “googleplex.edu” 9. ns1.xyzindustries.com membuat request atas hostname yang dicari dan mengirimnya ke name server untuk “googleplex.edu”
DNS – Proses Kerja 10. Server name “googleplex.edu” memeriksa record yang dimiliki, dan ternyata hostname yang dicari ada di subdomain “compsci.googleplex.edu” yang berada di zone yang berbeda. Diberikan server name untuk zone tersebut 11. ns1.xyzindustries.com membuat request atas hostname yang dicari dan mengirimnya ke name server untuk “compsci.googleplex.edu”
DNS – Proses Kerja 12. Name server “compsci.googleplex.edu” yang memiliki otoritas atas Name server ini memberikan alamat IP atas hostname tersebut ke ns1.xyzindustries.com 13. ns1.xyzindustries.com menyimpan pasangan nama dan alamat IP ini di cache 14. Local name server memberikan hasil pencarian ini ke local resolver pada komputer user 15. Local resolver juga menyimpan hasil pencarian pada cache 16. Local resolver memberikan alamat IP ke web browser 17. Web browser mengirimkan HTTP request
DNS – Verifikasi DNS Untuk mengetahui apakah DNS server kita dapat mencari hostname yang kita inginkan dapat menggunakan nslookup ◦ C:\>nslookup google.com Dapat juga menggunakan tools ini untuk memeriksa DNS Server tertentu untuk mengetahui kemampuannya untuk meresolve hostname ◦ C:\>nslookup >Server >google.com