當你打開瀏覽器輸入 google.com 連接到 google的網站,這背後發生了什麼事?
由瀏覽器發送的請求會經過 DNS (Domain Name System) 查找離我們最近的 google 伺服器並回傳 IP Address 簡稱 IP,IP就像是寄送信件時的確切地址需要藉由 DNS 才能知道要拜訪的是哪個網站內容。
在求職網站上看到的網頁工程師職缺常見的有兩種:前段工程師、後端工程師,兩種職缺的分別負責網站的哪些部分?
前端:下拉選單還有按鈕這些看得到的元素以及送出表單或是點擊按鈕後使用者會看到的提示,只要是人跟網頁互動相關的部分都可歸類為前端
後端:伺服器接收到請求後的部分,例如:社群網站的註冊登入流程,如果
是新用戶把用戶資料寫入資料庫,原有用戶的驗證(Authentication)程序最後導回首頁等流程就是後端在處理的事情。
前端跟後端代表的是瀏覽器和伺服器之間的溝通,網路串聯了數不清多的電腦所以需要有大家達成共識要如何傳輸資料,因此制定HTTP。
超文本傳輸協議 (HyperText Transmition Protocol)
是一種規範瀏覽器和伺服器之間在網路上面要傳送各種資料的標準規定,這裡指的資料包含文字、圖片、影音。
HTTP Messages 指的是瀏覽器跟伺服器溝通之間的詳細資料,分為瀏覽器發送的 request 和 伺服器給的 response ,兩者的組成都分成三個部分
request | response |
---|---|
start line | status line |
header | header |
body | body |
request 和 response 的差別如上表,分別是 start line 裡面包含了HTTP methods 而 status line 有 HTTP status。
HTTP methods 代表的是這個 request 要做什麼事情,例如 GET 是要拿取資料 POST 則是要新增資料,其他還有像是 PUT、DELETE 等 methods。
HTTP Status 是表示針對瀏覽器請求的回應,通常用 status code 來表示不同情況,通常是3個數字組成的代碼
Status Code | meaning |
---|---|
200 | ok |
404 | not found |
500 | Internal Server Error |