Pendalaman Ekstensif: Web & HTTP, E-mail (SMTP/IMAP), dan DNS
Referensi: Bahan Ajar Week12.pptx & RPS Jaringan Komputer
Dosen Pengampu:
Sasaran Pembelajaran Pertemuan 12:

Aplikasi jaringan adalah penggerak utama Internet modern. Beberapa contoh terpopuler:

Sebagai pengembang, tugas kita adalah menulis program yang berjalan pada end systems (host) berbeda dan saling berkomunikasi melalui jaringan.



Sebuah Proses adalah program yang sedang berjalan di dalam host.
Agar dua proses pada host yang berbeda dapat bertukar pesan, mereka memanfaatkan Socket.

Aplikasi yang berbeda memiliki kebutuhan kualitas yang berbeda (QoS):

| TCP Service | UDP Service |
|---|---|
| Connection-oriented (Setup required) | Connectionless (Tidak ada handshaking) |
| Reliable Transport | Unreliable data transfer (Best effort) |
| Flow & Congestion Control | Tidak peduli seberapa macet jaringan |
| Cocok: E-mail (SMTP), Web (HTTP), File (FTP) | Cocok: Telephony (SIP), Game, Streaming Real-time |

Sebuah halaman web biasanya terdiri dari satu Base HTML File dan beberapa Referenced Objects (gambar JPEG, video, CSS).
www.someschool.edu/someDept/pic.gif
HTTP berjalan di atas TCP (Port 80/443). Urutannya:
Sifat Krusial HTTP adalah STATELESS!
Server tidak menyimpan memori apa pun terkait interaksi client sebelumnya. Setiap request dianggap dari orang baru.

1. Non-persistent HTTP:
2. Persistent HTTP (HTTP 1.1):

RTT (Round Trip Time): Waktu bagi sebuah paket kecil untuk melakukan perjalanan pulang-pergi dari client ke server.
Total = 2 RTT + File Transmission Time. (Diulang-ulang untuk setiap objek!).

Pesan HTTP berbasis ASCII (bisa dibaca manusia). Strukturnya terdiri dari:
Method (GET/POST), URL, dan Version.Host, User-Agent (jenis browser), dan Accept-Language. Diakhiri oleh spasi baris kosong ganda (
).POST atau PUT.
Sama seperti request, namun memiliki Status Line:
HTTP/1.1 200 OK.
Karena HTTP itu "pelupa" (Stateless), bagaimana cara Tokopedia mengingat keranjang belanja kita walau kita pindah halaman?
Cookies adalah id unik yang disimpan di browser kita.
Set-cookie: 1634Cookie: 1634
Ketika Anda mengunjungi website "Socks.com" yang juga memakai AdX, AdX akan melihat nomor cookie yang sama dan menyadari, "Ah, orang yang kemarin baca berita sport di NY Times sekarang mencari kaus kaki!". Hal ini mengganggu privasi. (Mulai diblokir oleh Safari/Firefox modern).

Di lingkungan institusi kampus/perusahaan besar, akan sangat boros jika ribuan mahasiswa mem-fetch file gambar yang persis sama ke Server di Amerika.
Solusi: Local Web Cache.

Hitungan matematis menunjukkan Caching JAUH lebih murah daripada harus menyewa ISP dengan bandwidth yang lebih tinggi (upgrade Access Link).
Bagaimana agar data Cache tidak kadaluarsa (basi)?
<date>." (Menggunakan header If-modified-since).304 Not Modified yang menghemat bandwidth besar-besaran.
Meskipun HTTP 1.1 Persistent sudah baik, ia memiliki masalah Head-of-Line (HOL) Blocking.

Sistem Surat Elektronik (E-mail) memiliki 3 pilar penyangga:

Di dalam sebuah Mail Server, terdapat dua struktur ruang penyimpanan:

Bagaimana nasib sebuah email dari diketik hingga dibaca?
@bob.edu, kemudian SMTP Client milik institusi Alice membuka koneksi TCP Port 25 ke Server Mail milik institusi Bob.
Mengapa kita butuh DNS?
www.google.com).142.250.191.132).DNS adalah buku telepon raksasa terdistribusi yang bertugas menerjemahkan (mapping) *Hostname* bahasa manusia menjadi *IP Address* bahasa router.

Mengapa tidak membuat SATU SAJA server super besar berisikan seluruh tabel nama internet di dunia?
Karenanya DNS dibangun dengan arsitektur Desentralisasi & Hirarkis (Database Terdistribusi).

Mekanisme pencarian bersifat berjenjang dari atas ke bawah:
.com, .net, .org, .edu, atau negara (.id, .jp). Server TLD tau siapa pengelola sub-domain.google.com atau yahoo.com.
"Saya tidak tahu alamat pastinya, tapi silakan tanya orang ini."
.edu..edu. TLD mengembalikan IP dari Authoritative umass.edu.Pada model Iterated, beban berpindah-pindah, tapi kendali pencarian tetap berada di titik Local DNS Server.

"Tolong carikan sampai dapat, saya terima beres saja."

Pencarian panjang berjenjang tersebut sangat memakan waktu. Maka dari itu diterapkanlah Caching.
www.google.com, ia akan menyimpannya (Cache) di memori RAM sementaranya.
Bentuk data murni dari database DNS adalah tuple 4 nilai: (Name, Value, Type, TTL).
(foo.com, 1.2.3.4, A).(foo.com, dns1.foo.com, NS).www.ibm.com menunjuk ke *canonical name* server2-backup.ibm.com).
Karena perannya krusial, DNS sering menjadi target serangan:
Solusi modern: DNSSEC, memberikan tanda tangan digital otentikasi bahwa pesan DNS belum dimanipulasi.















