"Hai, Amigo!"

"Hai, Bilaabo!"

"Apakah perkara baharu yang akan awak beritahu saya hari ini?"

"Banyak perkara. Tetapi untuk memulakan, saya fikir kita akan membincangkan bekerja dengan rangkaian dan Internet. Berminat?"

"Ya. Internet Galactic sangat keren."

"Baiklah, tetapi mari kita mulakan dengan beberapa sejarah. Pada awal abad ke-21, keadaannya begini…"

"Setiap komputer yang disambungkan ke Internet mempunyai nombor unik. Ini adalah nombor 4-bait biasa. Ia dipanggil alamat IP."

"Tetapi manusia mempunyai daya ingatan yang lemah dan sukar untuk mengingati sesuatu seperti 2108458776, jadi mereka sering menulis setiap bait secara berasingan."

"Jika kita membahagikan nombor empat bait 2108458776 kepada bait berasingan, kita mendapat 125.172.135.24. Seperti yang anda ingat, setiap bait terdiri daripada 8 bit dan boleh mengandungi nombor dari 0 hingga 255."

"Jadi, begitulah cara kita menulis nombor?"

"Ya. Ia lebih mudah (untuk manusia) untuk mengingati nombor empat bait apabila ia ditulis dengan cara ini."

"Seperti yang berlaku, pilihan untuk menggunakan hanya 4 bait tidak lama lagi memainkan helah yang kejam terhadap mereka. Bilangan peranti yang disambungkan ke Internet berkembang dengan begitu cepat sehingga mereka kehabisan nombor."

"Bagaimana mereka dapat mengatasinya?"

"Mereka melakukan apa yang biasa dilakukan oleh manusia."

"Mereka menghasilkan standard baharu untuk alamat IP dan dengan bangganya menamakannya IPv6."

"Tidak seperti alamat IP biasa (dipanggil IPv4) yang menggunakan 4 bait untuk membentuk nombor unik, standard baharu menggunakan 16."

"Cuba fikirkan, manusia tidak dapat mengingati 10 digit dalam nombor biasa (seperti 2108458776), jadi mereka terpaksa membahagikannya kepada 4 bahagian, tetapi kemudian mereka berfikir untuk menggunakan nombor yang terdiri daripada 16 bait."

"Ya, kadang-kadang manusia pelik."

"Yep. Manusia adalah manusia."

"Yang berkata, mereka telah keluar dari kesusahan mereka."

"Mereka bosan mengingat nombor dan memutuskan untuk menggantikannya dengan perkataan."

"Macam mana tu? Boleh awak bagi saya contoh?"

"Sudah tentu, web.mail.com , google.com , new.books.amazon.com , …"

"Nama semacam ini dipanggil domain."

"Agar Internet ini berfungsi dengan baik, mereka mencipta jadual khas yang dipanggil Sistem Nama Domain (DNS) yang menyimpan alamat IP setiap nama domain."

"Begini cara ia berfungsi."

1)  Pengguna memasukkan alamat dalam penyemak imbas, contohnya, web.mail.com .

2)  Penyemak imbas mengakses DNS dan menggunakan nama domain untuk mendapatkan alamat IP.

3)  Permintaan dengan URL yang diperlukan dihantar ke alamat IP ini.

"Itu tidak kelihatan sangat mudah."

"Tetapi pendekatan ini mempunyai beberapa faedah:"

" 1) Manusia mudah mengingati nama-nama yang boleh diucapkan secara lisan."

" 2) Nama domain boleh dibina secara hierarki dengan menambahkan subdomain pada permulaan nama. Persis seperti nama pakej dalam Java."

" 3) Jika anda perlu menukar alamat IP pelayan web, anda hanya perlu menukar rekod DNS, dan semuanya akan berfungsi seperti sebelum ini — pengguna tidak perlu mengingati alamat baharu."

"DNS kelihatan seperti ini:"

Nama domain alamat IP
mail.com 128.35.36.189
web.mail.com 145.12.17.13
new.mail.com 192.155.15.3
google.com 92.117.151.100
google.com 193.168.0.1
docs.google.com 217.12.222.1

"Masuk akal."

"Bagaimanapun, domain ialah nama komputer, tetapi kami tidak memerlukan komputer itu — kami memerlukan apa yang ada pada komputer. Inilah kegunaan URL."

"Pada mulanya, URL sebenarnya adalah pautan ke fail pada komputer lain. Contohnya:"

Contoh
http :// info.codegym.cc / user/info/profile.html
Penerangan
http  ialah protokol untuk komunikasi pelanggan-pelayan
info.codegym.cc  ialah nama domain komputer
pengguna/info/profile.html  ialah laluan ke fail pada komputer

"Pada awal pembangunan rangkaian, pelayan web hanya dapat menggunakan URL untuk menyampaikan fail yang disimpan di suatu tempat. URL sebenarnya adalah laluan global ke fail: nama komputer + laluan."

"Kemudian, apabila pelayan web mula menjana fail sendiri, URL berubah sedikit dan menjadi permintaan kepada pelayan web. Parameter permintaan turut ditambah."

"Hari ini jarang sekali untuk melihat sambungan fail di hujung URL. "URL moden hanyalah pautan unik dengan parameter. Lebih seperti panggilan kaedah dan bukannya laluan fail global."

"URL moden klasik kelihatan seperti ini:"

Menghuraikan URL
http :// codegym.cc / alpha/api/contacts ? userid=13&filter=none&page=3
Perihalan bahagian URL
codegym.cc  ialah nama domain — nama unik (alamat) komputer di Internet
http  ialah protokol untuk komunikasi pelanggan-pelayan
alpha/api/contacts  ialah permintaan atau permintaan pelayan web untuk halaman web pada pelayan
userid=13 & filter=none & page=3  ialah rentetan dengan parameter permintaan

"Ya, saya ingat. Anda memberitahu saya tentang URL baru-baru ini."

"Dan tentang pelabuhan juga. Anda menggunakan contoh bangunan pangsapuri."

"Adalah lebih baik untuk memberitahu saya apa itu 'http'. Saya melihat 'protokol' ditulis di mana-mana, tetapi saya tidak jelas tentang apa itu."

"OK. Saya akan beritahu awak tanpa berlengah lagi."

Alamat IP, domain, URL - 1

" HTTP adalah singkatan kepada H yper T ext T ransport P rotocol dan adalah untuk memindahkan hiperteks."

"Apakah hiperteks?"

"Ia HTML."

"Secara kasarnya, protokol ialah satu set peraturan untuk komunikasi. Ia menerangkan permintaan yang boleh dihantar ke pelayan web, dan dalam format apa, serta cara pelayan web harus bertindak balas."

"Ringkasnya, keadaannya begini. Fail teks biasa atau, jika anda suka, sebahagian besar teks dihantar antara pelanggan dan pelayan. "

" Permintaan datang ke pelayan, dan pelayan memberikan respons kepada setiap permintaan."

"Berikut ialah contoh permintaan dan respons sedemikian:"

Permintaan
GET alpha/api/contacts HTTP/1.1
Host: codegym.cc
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en; rv:1.9b5) Gecko/2008050509 Firefox/3.0b5
Accept: text/html
Connection: close
Penerangan
GET – request subtype
alpha/api/contacts – request to the web server
HTTP/1.1 – protocol version – HTTP/1.1
Host: codegym.cc – domain name
User-Agent: Mozilla/5… – unique browser name
Accept: text/html – requested document type: HTML
Connection: close – close the server connection after processing the request.

"Barisan pertama ialah permintaan sebenar. Yang berikut ialah parameter permintaan tambahan, juga dikenali sebagai 'medan pengepala'."

"Dan berikut ialah contoh respons:"

Respon
HTTP/1.1 200 OK
Date: Wed, 11 Feb 2009 11:20:59 GMT
Server: Apache
X-Powered-By: PHP/5.2.4-2ubuntu5wm1
Last-Modified: Wed, 11 Feb 2009 11:20:59 GMT
Content-Language: en
Content-Type: text/html; charset=utf-8
Content-Length: 1234
Connection: close
<html><body><a href="http://ample.com/about.html#contacts">Click here</a></body></html>
HTTP/1.1 200 OK - «200 OK» means everything is okay.
Date: Wed, 11 Feb 2009 - Date on which the request was processed
Server: Apache - Name of the web server
X-Powered-By: PHP - The server uses PHP
Last-Modified: Wed, 11 Feb 2009 - The time of the last update of the requested file
Content-Language: en - The language of the file
Content-Type: text/html; charset=utf-8 – This is an HTML-file with UTF-8 encoding
Content-Length: 1234 - The response is 1234 bytes long
Connection: close - The connection will be closed after the request is handled
<html><body><a href="http://ample - The HTML file itself.

"Saya ingin menarik perhatian anda kepada dua perkara:"

"Pertama, tidak kira apa yang anda minta, ia kelihatan seperti permintaan fail kepada pelayan. Tidak kira sama ada fail itu berada pada pelayan atau pelayan menjananya sebagai tindak balas kepada permintaan itu."

"Kedua, fail itu sendiri dihantar sebagai sebahagian daripada respons HTTP . Dalam erti kata lain, kami melihat beberapa data tambahan pada permulaan respons pelayan, dan kemudian badan fail itu disampaikan. "

"Menariknya! Saya tidak pasti saya faham semuanya. Nanti saya baca lagi."

"Oh, saya ingin memberitahu anda tentang satu lagi perkara kecil, tetapi menarik: kuki."

"Apa benda itu?"

"Menurut protokol HTTP, kuki ialah cebisan kecil maklumat yang dihantar pelayan kepada klien untuk disimpan pada klien. Dan ia dihantar semula ke pelayan sebagai sebahagian daripada permintaan seterusnya. "

"Dan apa gunanya itu?"

"Andaikan pengguna melog masuk pada halaman utama tapak web. Pelayan mencipta objek sesi pada pelayan untuk pengguna ini, dan nombor sesi unik dihantar kepada klien sebagai kuki. Semasa permintaan seterusnya daripada klien kepada pelayan, nombor sesi ini, bersama-sama dengan kuki lain, akan dihantar semula ke pelayan. Ini bermakna pelayan boleh mengenali pengguna yang menghantar permintaan baharu."

"Sungguh menarik!"

"Ya. Apabila anda menulis servlet anda sendiri, kami akan melihat topik ini dengan lebih dekat. Tetapi buat masa ini, mari berehat."

"Apa sahaja yang kamu katakan."