iT邦幫忙

2022 iThome 鐵人賽

DAY 28
0
自我挑戰組

新手的JavaScript扎根之路系列 第 28

Day28 網路請求

  • 分享至 

  • xImage
  •  

嗨嗨!我是Winnie溫尼~/images/emoticon/emoticon08.gif

前言

你有想過當我們在網址列按下enter之後,到可以瀏覽網頁資料時,這之間到底發生了什麼事呢?還有有時候打開網頁看到的404到底代表著什麼呢?

網路請求


(資料來源:Django Request and Response Lifecycle)
除了用戶端也就是我們所開啟的瀏覽器與伺服器端之外,還有會需要認識:
1.網路連線:才可以在網路傳送與接收資料。
2.TCP/IP:傳輸控制協定和網際網路協定(Transmission Control Protocol and Internet Protocol)是定義資料如何在網路通行的通訊協定。
3.DNS:網域名稱系統(Domain Name Servers),當在瀏覽器輸入網址時,瀏覽器會在取得網站前,先去看 DNS 以查到網站的真實地址。瀏覽器需要找到哪個伺服器在託管指定的網站、這樣才能把 HTTP 訊息傳送到對的地方。
4.HTTP超文本傳輸協定(Hypertext Transfer Protocol)是定義用戶端語言,和伺服器如何對話的應用協議。
5.Component files:網站由許多不同的文件組成,這些檔案分為以下類型:

  • 程式檔:網站主要是由 HTML、CSS、JavaScript 建立。
  • Asset:構成網站其他內容可能包含圖像、音樂、影片、Word、PDF……等等。

而這之間是如何運作的呢?
1.瀏覽器會先到DNS伺服器尋找託管網站的伺服器。
2.用戶端也就是我們所開啟的瀏覽器會向伺服器端提出一個request請求,這之間的請求訊息與其他資訊,會使用 TCP/IP 在網路連線之間傳送。
2.收到request請求的伺服器端會像資料庫撈取資料。
3.將撈取的資料以一小串稱作「資料封包」的組合形式,response回傳給用戶端。
4.瀏覽器解析資料,並渲染於畫面上。

HTTP狀態碼

  • 資訊回應 (Informational responses, 100–199)
  • 成功回應 (Successful responses, 200–299)
    例:200 OK-請求成功
  • 重定向 (Redirects, 300–399)
    例:304 Not Modified-記憶體已有快取再次載入
  • 用戶端錯誤 (Client errors, 400–499)
    例:404 Not Found-找不到請求資源
  • 伺服器端錯誤 (Server errors, 500–599)
    例:500 Internal Server Error-伺服器端發生未知或無法處理的錯誤
    可以在Chrome開發人員工具中的Network查看status狀態碼

參考資料

網路如何運作
HTTP 狀態碼

新手上路,如文章有錯誤或需修正之處,懇請大家多多指教!
那麼,我們明天見囉~/images/emoticon/emoticon29.gif


上一篇
Day27 函式陳述式與表達式
下一篇
Day29 axios請求方法get、post
系列文
新手的JavaScript扎根之路30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言