專家見解 給網站專業人士的建議

當您在瀏覽器輸入 URL 會發生什麼事呢?

打開瀏覽器,在網址欄輸入 URL,從一個頁面導航到一個頁面,我們對此流程已經習以為常,以至於忘記了這個微不足道的點擊是多麼的深藏不露。

瞭解 URL 在瀏覽器中的工作原理,不僅可以滿足您的好奇心,還能以備不時之需。如果您正好需要建立網站,那可巧了,URL 可以幫助您更地建立網站,甚至在網站出錯時,還可以協助您找出原因。

URL 是用來做什麼的?

瞭解網路導航的入門課就是要清楚瞭解 URL 的定義及其用途。

URLUniform Resource Locator),即統一資源定位器,可能有些晦澀難懂,但其實通常指的是網站的位址(即網址)

因此,URL 的作用是準確定位特定的資源(檔案)」,無論是網頁、圖像、MP3 檔案或任何其他在網路上可以找到的東西。

是,如果我們比較 URL 真實的地圖定位,URL 的功能顯然更為復雜。下我們更深入地為您解析 URL 的工作原理。
 

URL 的工作原理

URL 實際上是由好幾個不同的部分組成。URL 的核心是域名,形式為「example.com

URL 中的域名

URL 通常由一個頂級域名後綴,即「top-level domain」(例如.fr.com,和一個二級域名(在我們的範例中就是 example)組成。一般情況下還會再有一個子域,最常見的是 www,當然也可以是 hop、docs、news 等等。

 
這就會告訴您的瀏覽器在 DNS 系統中尋找您要找的網頁或其他資源的位置。

URL 中的協議

在域名之前,還會有一個協議,其為 HTTP 或 HTTPS,這會告知您的瀏覽器應該使用何種協議來連結伺服器。

URL 中的路徑

路徑是緊跟 URL 域名之後的那個部分,其會告訴域名對應的伺服器您要找的資料夾和檔案。

URL 的其他組成部分

URL 也可能含有其他部分,如查詢,開頭,後面跟著特定參數,此外,可能是以「#」開頭,後面跟著頁面上的錨點名稱,讓您能夠直接跳到網頁上的特定位置。

現在您已經對 URL 的組成部分及其用處有一定的瞭解,接下來我們將為您深入介紹 URL 的工作原理。

第一步:查詢 IP 位址

瀏覽器的首要任務是確定您試圖訪問的網路資源伺服器的 IP 位址。瀏覽器無法根據您輸入的 URL 或域名來定位資源。

為此,瀏覽器必須將 URL 中的域名翻譯成對應伺服器的 IP 位址。如果說 URL 是人類可辨識的位址,那 IP 位址就所有連接到網路的電腦其中一個特定位置。

域名系統(或稱DNS)是在域名和 IP 位址之間建立對應關係的系統,因此,瀏覽器將 URL 提交給 DNS,而 DNS 又會回覆給瀏覽器含有相應資源的伺服器 IP。

深入瞭解 DNS

第二步:初始連接伺服器

一旦的瀏覽器確認了網路伺服器的位置,瀏覽器與網路伺服器之間就可以建立連線。此處所建立的第一層連線使用傳輸控制協議即TCP Transmission Control Protocol,這也是網際網路的基本協議之一。

 
針對在瀏覽器和試圖訪問的 URL 網路伺服器之間發送或接收任何檔案,上述的連線是必不可少的。該連線主要是指在瀏覽器和網路伺服器之間發送接收數據,而 TCP 協議就是負責確保數據能過路由器、您 ISP 的網路和網際網路其他層面傳輸
 

一旦建立好連線,您的瀏覽器就可以向網路伺服器發送和接收資訊。當連線處於建立過程時,這些數據包基本上是空的;但一旦建立好連線後,您的瀏覽器就可以與網路伺服器交換應用數據。也就是說,該連線可以為網路發送和接收數據。

第三步:使用 HTTP 協議

在上一段落中,我們談到使用 TCP 協議連接到伺服器,您可能對此會感到些許困惑,因為我們才說了HTTP也是一種協議。這是因為 TCP 是用於在網際網路上連接兩台電腦的網際網路協議,而 HTTP 是用於交換網路數據的網路協議。

為避免龐大的資訊量讓您頭昏眼花,簡單來說,HTTP 是一套用於交換網路數據、超文字、超連結和一系列網路特定對象的程式。這些功能基本上是我們今天所使用的網際網路同義詞,但實際上是網路的特有功能。

第四步:透過 HTTPS(也就是帶有 TLS/SSL  HTTP)連線

通常情況下,當您連線到網站時,您很有可能被迫使用 HTTPS 而不是 HTTP。事實上,HTTPS 完全不同於 HTTP 的協議,HTTPS 只是具備額外加密層的 HTTP 協議。也就是說,如果您只使用了 HTTP,網路數據的交換就是「透明的」,或者更清楚地說是「任何人都可以看得見」您交換的數據。網際網路或 HTTP 並沒有什麼特別之處,只是直屬或專屬於所連線的兩個端點而已。網際網路和網路是分佈式的,而這正是優勢所在。因此,網路數據在從伺服器到您的瀏覽器這條路徑上被轉發、傳送最終被攔截。

 
此刻正是 HTTPS 登場的好時機了。因為 HTTPS 增加了另一個協議—TLS 憑證(通常我們較熟悉其另一個名字SSL 憑證),該協議讓伺服器和瀏覽器之間發送接收的所有數據都無法辨識,除了這二者之外的人都無法看見。TLS/SSL 憑證透過對加密數據來達到一目的,也就是使用祕密代碼來編碼數據。

TLS/SSL 憑證使用公開密鑰加密,因此數據的發送方和接收方可以解密數據,而不必事先交換加密方法。

當您在網址列中輸入 URL 並使用 HTTPS 協議時,您的瀏覽器和您試圖訪問的伺服器都會使用該協議,透過 TLS/SSL 憑證建立安全連線

第五步:接收網頁內容

最後,只要連線是透過 TCP、HTTP  HTTPS 協議建立,你的瀏覽器將從您指定位址的網路伺服器上接收數據。如果那是一個網頁,該數據將是 HTML(超文本標記語言)格式一種網路特有的數據格式

然後,如果您點擊頁面上的任何超連結,輸入任何要發送給伺服器的資訊(例如如果您填寫了註冊表單或輸入了支付資訊),那麼,您網站上就會有很多超連結,這些資訊都會透過 HTTP 協議發送和接收。

在許多網站上,HTML 檔案還引用了自身以外的特定資源,以運作網頁載入時的頁面。代表例子就是 CSS即階層式樣式表),其是用為結構化文件(如 HTML 文件或 XML 應用)添加樣式(字型、間距和顏色等)的電腦語言,並應用於某個特定頁面或網站的所有頁面。CSS 可以確保網站頁面外觀的統一性,並保持 HTML 文件的精簡,還不必在每個HTML 頁面上都複製貼上這些指示。
 

CSS 是一個儲存在同一個網路伺服器上的單獨檔案,您的瀏覽器需要發出單獨的 HTTP 請求指令才可使用 CSS

客戶端腳本

HTML 檔案也可以發送代碼,您的瀏覽器會負責執行。

JavaScript 腳本(script)發送到您的電腦,並在瀏覽器中運作不僅能調整頁面,甚至還能讓您與網頁互動。響應式網頁能根據您的瀏覽器視窗大小而適當調整,視窗大小通常與您的顯示器大小(桌面、平板電腦或手機)相應,以便您能擁有最佳的閱讀體驗和舒適度。

這些在您的電腦瀏覽器中運作的應用程式被稱為網路應用程式

伺服器端腳本

要想使網頁更動態化,還有一種方法,那就是在伺服器上使用諸如 PHP 腳本,其在網路伺服器上運作,並根據瀏覽器的情況也就是使用者的情況),修改發送的內容。

在這種情況下,只要在瀏覽器的網址欄中輸入 URL,就會觸發伺服器執行遠端腳本

當您在瀏覽器輸入 URL 時會發生什麼

現在您已經知道在瀏覽器的網址欄中輸入 URL 後會發生的一系列事件了。即使身份互換,當您需要把資源提供給正在苦苦尋覓資料的其他網際網路使用者時,您就能更加有效率而且不用遲疑,因為這些內容將透過各種協議程式傳送成功。

如果您也準備好製作一個 URL,您將需要一個域名一個網頁代管伺服器(虛擬主機),以及一個 TLS/SSL 憑證,前述的一切,Gandi 為您提供。