Skip to content

Latest commit

 

History

History
79 lines (53 loc) · 4.61 KB

File metadata and controls

79 lines (53 loc) · 4.61 KB

請解釋後端與前端的差異。

對一般沒有接觸過的人來說,他們唯一能理解的東西就是畫面,所以才常常用「你看得到」和「你看不到的」作為區別,不過最近覺得換種說法更精確,應該說

和使用者見到的所有相關內容

畫面,也不全然只有畫面,打開搜尋前端職位,可以發現與之相關的有網頁設計、UI 設計、 UX 用戶體驗、前端工程師等等,他們在處理的是和內容呈現有關的東西,內容的設計排列、研究用戶對內容的感受程度、製作產品給用戶使用的人,一切可以連結到用戶的角色,都可以被稱作是前端。 而後端,就是在背後默默處理這些呈現出的內容─ 用戶真正要做的事,例如用戶想查看某一頁的資訊、用戶想對內容做的動作、管理保存用戶資料、協助更新持續變化的內容。

就拿建築裝修作為例子,今天我想蓋一棟房子,我會接觸到哪些人?室內設計師、監工、正在施工的師傅們,他們幫我確認家具擺放、把牆壁漆成我要的顏色、規劃我能最大化運用的房間格局,他們對我而言就是所謂的前端,呈現出我想要的房子,那麼後端是什麼?是背後有一群結構技師在確認建物的安全性、調出我選中的牆壁顏色的油漆行、訂購現場所需材料的廠商,這些我接觸不到、但是真正執行一切指令的角色,

前端負責處理面對用戶的內容,而後端則是執行用戶想對內容採取的工作。

假設我今天去 Google 首頁搜尋框打上:JavaScript 並且按下 Enter,請說出從這一刻開始到我看到搜尋結果為止發生在背後的事情。

1. 首先進到 Google 首頁

要進入首頁,我們會先透過「https://www.google.com/」 向 DNS server 詢問它的 IP 位置,在得到 Google 的 IP 後就會跳轉到 Google 首頁

  • https://www.google.com/ 網址稱為 URL,是訪問網絡上某個資源的路徑,用戶看到的網頁、影片、圖片等一切資源都是透過 URL 去獲取內容,可以想像成是網路世界的門牌地址
  • google.com 就是它的網域名稱,通常會為網路上的伺服器取一個有意義又容易記的名字
  • IP 位置 在網路世界,分配給使用網際協定裝置的數字標籤,代表主機的地址,具有唯一性。像 Google 的實際位置就是「172.217.27.132」,類似以前的 104 查號台,透過名字和地址去找出真正的電話號碼
  • DNS 一台用來查詢 Domain Name 和 IP 對應資料的主機

2. 在首頁搜尋框輸入關鍵字

按下 Enter 的時候,我所輸入的字串「JavaScript」會被包成一個 HTTP 請求格式(request)送出請求,在瀏覽器接受到客戶端的 request 後,會將它傳送到 Google 網頁所在的伺服器

3. 後端處理請求

而 Google 後端伺服器在接收到使用者發出的 request 後,會按照使用者的請求進到資料庫進行關鍵字搜尋,之後會將搜尋結果送回後端,後端會將結果處理成它和前端約定的格式最後回傳到前端伺服器(response)。

  • 注意:如果使用者有登入且不開無痕模式的情況下,Google 後端應該會將該筆搜尋紀錄存取到用戶的歷史搜尋紀錄

4. 前端將處理好的 HTML,交給瀏覽器處理

前端會將生成 HTML 字符串返給瀏覽器,瀏覽器進行處理一句句讀取解析

載入,解析,渲染

瀏覽器解析 HTML 文件構建 DOM 樹,然後解析 CSS 文件構建渲染樹,等到渲染樹構建完成後,瀏覽器開始佈局渲染樹並將其繪製到屏幕上,也就是呈現出以下你會看到的網頁內容

請列舉出 3 個「課程沒有提到」的 command line 指令並且說明功用

  1. file 指令:告訴你檔案的類型
file 'file name' 
#輸入檔名

file * 
#可列出目錄中的所有文件以及文件類型訊息

比如查詢檔名為 'spanish music',輸出結果會告訴你這是一個資料夾

  1. find 指令:搜尋檔案
find . -name hello.txt
#在目前的目錄底下,找尋檔案名稱為 hello.txt 的檔案

find . -type f -name "*.php"
#列出目前目錄底下所有的 PHP 檔案

比如查詢特定檔案類型,輸出結果會找出在該目錄下所有的 .docx

  1. 隱藏及顯示檔案
attrib +s +a +h +r 檔案
#隱藏檔案

attrib -s -a -h -r 檔案
#顯示檔案