iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 1
2

前言

適合對象

跟我一樣會切版 + 前端經驗未滿兩年又想摸後端皮毛的人都可以吧?

撰寫緣由

在某個時期從線上影片課程迷思驚醒之後,決定學學巨人們的做法,看文件學技術。
上半年碰了個需要後台的案子,我決定使用 MEVN:
MongoDB, Express.js, Vue.js, Node.js
已經看著一些教學文做完一半,CRUD 也做好了,趁這次機會寫鐵人再加深印象。

筆者背景

數學系畢。7年 sales + 1.5年 Front-end SOHO。 明年底邁入3字頭

教材來源

伺服器端程式設計起步走

許多前端工作者應該都會用 W3Schools, MDN 來查詢語法、方法相關的資料,它們也相當有公信力。

原本想寫 canvas,下關鍵字時,在 W3Schools, MDN 發現有教學專區,
W3Schools 是英文網頁,MDN 也未全面翻譯成中文,或許會使人卻步,
這時就是在磨耐心,不會的英文丟翻譯,還是不會再去 google 關鍵字,最後真不會就問人吧!

正文開始

在開始本模組前,你不需要擁有任何與伺服器端、或其他種類的程式設計相關知識。
你必須知道「網路如何運作」。關於此,我們推薦以下主題:

  • 何謂網路伺服器
  • 我需要什麼軟體來建立網站?
  • 如何把檔案上傳到網路伺服器?

-- MDN

網路伺服器 web server

概要

想像你去早餐店:去櫃檯點餐結帳,廚房出餐拿到櫃台給你。
櫃檯反映你的需求,廚房處理你的需求給你回應

櫃檯 => 你使用的瀏覽器(browser)
廚房 => 伺服器(Web server)
web server: HTTP server + Files

HTTP server

它理解 URLs, HTTP, domain name(DN)之後把內容傳給 user
以上到底在工撒毀?簡單來說就是櫃檯人員,他讀得懂你說的話,或是你寫在菜單上的內容,然後給你回應
HTTP:

  • 只有 user 可以發出 HTTP 請求,只有 server 可以接受請求。也只有 server 可以回應,角色不可互換。你客人跑去當什麼櫃檯,是流氓還是強盜嗎?
  • 如果請求檔案,必須提供檔案的 URL。原來如此~ 所以我們在串 API 時需要那樣寫
  • server 必須回應所有的請求,起碼要回應錯誤訊息

靜態伺服器?動態伺服器

要發佈網站,需要一個靜態或動態的伺服器
靜態(static web server):只傳送事先寫好的檔案 => 那些已經做好的三明治
動態(dynamic web server):靜態 + 應用伺服器(application server) + 資料庫(database)。 application server 會在 HTTP 傳送前更新

結語

首日的文章在 MDN 上有完整中文翻譯,可以去看看原網站的完整內容


下一篇
二日:軟體 , 伺服器端 ( server-side ) 的介紹 ( 前導 )
系列文
還在想要買哪一堂線上課程嗎?培養看文件的習慣吧!用 MDN 文件學後端:NodeJS & MongooseDB30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
King Tzeng
iT邦新手 3 級 ‧ 2019-09-16 18:01:33

原來你是傳說中的數學系!太猛啦!/images/emoticon/emoticon24.gif

PeterLiao iT邦新手 4 級 ‧ 2019-09-16 18:26:29 檢舉

學歷什麼的對於準三字頭來說都是浮雲了
妳這次玩的主題才猛猛的

我要留言

立即登入留言