昨天談到一些關於網站的原理,今天就繼續談談 HTTP。突然覺得鐵人賽的文章自己應該要寫得更扎實一點。對了 google chrome 最近更新到 77 版本,如果常常有人因為吃字而不開心,建議可以更新。
我們透過 url 也就是我們常說的網址,去訪問一個網頁。昨天也有提到,訪問網頁會先透過 DNS 去找到對應的 IP 。
我們可以利用 Linux 指令 nslookup 去查詢對應域名的 IP ,
example: 比如說 google.com
他對應到的 IP 是 172.217.160.78。nslookup google.com
這個 IP 背後可能有一台伺服器( Server)正在運作,我們訪問這個 IP 之後,會送出 HTTP 的請求(Request)。
「那J個請求(Request)是什麼?」
我們做請求的時候會利用很多請求方法(request methods),比如說
GET / POST / PUT / DELETE / OPTIONS
我們可以先打開看看 www.google.com ,並且打開我們的瀏覽器中開發者工具 (F12),切到 Network 來看看,我們訪問 Google 首頁發生了那些事情。
如圖我們可以看到每一個都是我們瀏覽首頁,送出的封包內容。
GET / HTTP/1.1
Host: google.com
Accept-Language: en
「我們常常遇到 404 是什麼回事。」
所謂 404 就是我們說的 狀態碼
code | 定義 |
---|---|
200 | 請求已成功,請求所希望的回應頭或資料體將隨此回應返回。 |
301 | 被請求的資源已永久移動到新位置 |
403 | 伺服器已經理解請求,但是拒絕執行它。 |
404 | 請求失敗,請求所希望得到的資源未被在伺服器上發現。 |
451 | 該存取因法律的要求而被拒絕。 |
500 | 伺服器遇到了一個未曾預料的狀況 |