Go For Web:踏入Web大門的第一步——Web 的工作方式

2023-04-13 18:00:46

前言:

本文作為解決如何通過 Golang 來編寫 Web 應用這個問題的前瞻,對 Golang 中的 Web 基礎部分進行一個簡單的介紹。目前 Go 擁有成熟的 Http 處理包,所以我們去編寫一個做任何事情的動態 Web 程式應該是很輕鬆的,接下來我們就去學習瞭解一些關於 Web 的相關基礎,瞭解一些概念,以及 Golang 是如何執行一個 Web 程式的。
文章預計分為四個部分逐步更新
2023-04-13 星期四 一更 全文共計約 3800 字 閱讀大約花費 5 分鐘


文章目錄:

  1. Web 的工作方式
  2. 用 Go 搭建一個最簡單的 Web 服務
  3. 瞭解 Golang 執行 web 的原理
  4. Golang http 包詳解(原始碼剖析)
  5. 總結

正文:

Web 的工作方式

  • 瞭解當你存取一個網頁時,背後是如何運作的,發生了一些什麼?

    其實當你輸入網址(URL)並按下回車之後,你的瀏覽器相當於扮演了 使用者端 的角色,首先你的瀏覽器會去請求 DNS 伺服器進行域名解析,將你輸入的 URL 地址 轉化為對應的 ip 地址,通過 ip 地址 我們就可以找到對應的伺服器位置,從而進行 TCP 連線。

    連線之後,你的瀏覽器會傳送 HTTP 請求 (Request)包,服務區收到請求包之後開始從響應處理請求包,呼叫自身的服務,並返回 HTTP 響應 (Response)包。

    使用者端收到了來自伺服器端的響應之後開始渲染這個響應包裡的主體(body),等收到了全部的內容應答後,就會斷開與伺服器的 TCP 連線 (這裡先討論一般情況)
    如圖