打開瀏覽器,在網址欄輸入 URL,從一個頁面導航到另一個頁面,我們對此流程已經習以為常,以至於忘記了這個微不足道的「點擊」是多麼的深藏不露。
瞭解 URL 在瀏覽器中的工作原理,不僅可以滿足您的好奇心,還能以備不時之需。如果您正好需要建立網站,那可巧了,URL 可以幫助您更佳地建立網站,甚至在網站出錯時,還可以協助您找出原因。
URL 是用來做什麼的?
瞭解網路導航的入門課就是要清楚瞭解 URL 的定義及其用途。
URL(Uniform Resource Locator),即「統一資源定位器」,可能有些晦澀難懂,但其實通常指的是網站的位址(即網址)。
因此,URL 的作用是準確定位特定的「資源(檔案)」,無論是網頁、圖像、MP3 檔案或任何其他在網路上可以找到的東西。
URL 的工作原理
URL 實際上是由好幾個不同的部分組成。URL 的核心是域名,形式為「example.com」。
URL 中的域名
URL 通常由一個頂級域名後綴,即「top-level domain」(例如:.fr、.com),和一個二級域名(在我們的範例中就是 「example」)組成。一般情況下還會再有一個子域,最常見的是 www,當然也可以是 hop、docs、news 等等。
URL 中的協議
在域名之前,還會有一個協議,其為 HTTP 或 HTTPS,這會告知您的瀏覽器應該使用何種協議來連結伺服器。
URL 中的路徑
路徑是緊跟 URL 域名之後的那個部分,其會告訴域名對應的伺服器您要找的資料夾和檔案。
URL 的其他組成部分
URL 也可能含有其他部分,例如查詢,其以「?」開頭,後面跟著特定參數,此外,也有可能是以「#」開頭,後面跟著頁面上的錨點名稱,讓您能夠直接跳到網頁上的特定位置。
現在,您已經對 URL 的組成部分及其用處有一定的瞭解,接下來,我們將為您深入介紹 URL 的工作原理。
第一步:查詢 IP 位址
瀏覽器的首要任務是確定您試圖訪問的網路資源伺服器的 IP 位址。瀏覽器無法僅根據您輸入的 URL 或域名來定位資源。
域名系統(或稱DNS)是在域名和 IP 位址之間建立對應關係的系統,因此,瀏覽器將 URL 提交給 DNS,而 DNS 又會回覆給瀏覽器含有相應資源的伺服器 IP。
第二步:初始連接伺服器
一旦您的瀏覽器確認了網路伺服器的位置,瀏覽器與網路伺服器之間就可以建立連線。此處所建立的第一層連線使用傳輸控制協議(即TCP Transmission Control Protocol),這也是網際網路的基本協議之一。
一旦建立好連線,您的瀏覽器就可以向網路伺服器發送和接收資訊。當連線仍處於建立過程時,這些「數據包」基本上是空的;但一旦建立好連線後,您的瀏覽器就可以與網路伺服器交換應用數據。也就是說,該連線可以為網路發送和接收數據。
第三步:使用 HTTP 協議
在上一段落中,我們談到使用 TCP 協議連接到伺服器,您可能對此會感到些許困惑,因為我們才說了「HTTP」也是一種協議。這是因為 TCP 是用於在網際網路上連接兩台電腦的網際網路協議,而 HTTP 是用於交換網路數據的網路協議。
為避免龐大的資訊量讓您頭昏眼花,簡單來說,HTTP 是一套用於交換網路數據、超文字、超連結和一系列網路特定對象的程式。這些功能基本上是我們今天所使用的網際網路之同義詞,但實際上是網路的特有功能。
第四步:透過 HTTPS(也就是帶有 TLS/SSL 的 HTTP)連線
通常情況下,當您連線到網站時,您很有可能被迫使用 HTTPS 而不是 HTTP。事實上,HTTPS 並非完全不同於 HTTP 的協議,HTTPS 只是具備額外加密層的 HTTP 協議。也就是說,如果您只使用了 HTTP,網路數據的交換就是「透明的」,或者更清楚地說,是「任何人都可以看得見」您交換的數據。網際網路或 HTTP 連線並沒有什麼特別之處,只是直屬或專屬於所連線的兩個端點而已。網際網路和網路是分佈式的,而這正是其優勢所在。因此,網路數據在從伺服器到您的瀏覽器這條路徑上被轉發、傳送最終被攔截。
TLS/SSL 憑證使用公開密鑰加密,因此數據的發送方和接收方可以解密數據,而不必事先交換加密方法。
當您在網址列中輸入 URL 並使用 HTTPS 協議時,您的瀏覽器和您試圖訪問的伺服器都會使用該協議,透過 TLS/SSL 憑證建立安全連線。
第五步:接收網頁內容
最後,只要連線是透過 TCP、HTTP 和 HTTPS 協議建立的,你的瀏覽器將會從您指定位址的網路伺服器上接收數據。如果那是一個網頁,該數據將是 HTML(超文本標記語言)格式(一種網路特有的數據格式)。
然後,如果您點擊頁面上的任何超連結,輸入任何要發送給伺服器的資訊(例如:如果您填寫了註冊表單或輸入了支付資訊),那麼,您網站上就會有很多超連結,這些資訊都會透過 HTTP 協議發送和接收。
CSS 是一個儲存在同一個網路伺服器上的單獨檔案,您的瀏覽器需要發出單獨的 HTTP 請求指令才可使用 CSS。
客戶端腳本
HTML 檔案也可以發送代碼,您的瀏覽器會負責執行。
JavaScript 將腳本(script)發送到您的電腦,並在瀏覽器中運作,其不僅能調整頁面,甚至還能讓您與網頁互動。響應式網頁能根據您的瀏覽器視窗大小而適當調整,視窗大小通常與您的顯示器大小(桌面、平板電腦或手機)相應,以便您能擁有最佳的閱讀體驗和舒適度。
這些在您的電腦瀏覽器中運作的應用程式被稱為「網路應用程式」。
伺服器端腳本
要想使網頁更動態化,還有一種方法,那就是在伺服器上使用諸如 PHP 的腳本,其在網路伺服器上運作,並根據瀏覽器的情況(也就是使用者的情況),修改發送的內容。
在這種情況下,只要在瀏覽器的網址欄中輸入 URL,就會觸發伺服器執行遠端腳本。
當您在瀏覽器輸入 URL 時會發生什麼事?
現在,您已經知道在瀏覽器的網址欄中輸入 URL 後會發生的一系列事件了。即使身份互換,當您需要把資源提供給正在苦苦尋覓資料的其他網際網路使用者時,您就能更加有效率而且不用遲疑,因為這些內容將透過各種協議與程式傳送成功。
如果您也準備好製作一個 URL,您將需要一個域名、一個網頁代管伺服器(虛擬主機),以及一個 TLS/SSL 憑證,前述的一切,Gandi 都能為您提供。
Tagged in DNSNom de domaine