9. 起初 Web 是很單純的
• 瀏覽器器就是個「可以透過網路路抓取、閱讀某種可以互相連
結的⽂文件」的軟體
• 瀏覽器器對 Web Server 發送 HTTP 連線,取得 HTML ⽂文件
• 瀏覽器器將 HTML ⽂文件直譯成 DOM
• 瀏覽器器將 DOM 渲染成在螢幕上顯示的結果
10. Server Side 動態網⾴頁
• WWW Server 接受外部傳⼊入的參參數數,根據參參數數,回傳不不同
的 HTML ⽂文件
• 可以⽤用 GET、POST…等⽅方式傳⼊入參參數數
• ASP、PHP…還有⽬目前各種 Web Servre
Framework(Rails、Laravel、Django)都在做這種事情
13. 動態改變 DOM
• DOM 的內容除了了可以從 HTML 當中產⽣生外,也可以由
JavaScript 動態修改(getElementById、addChild…)
• JavaScript ⾃自⼰己也可以發送網路路連線(AJAX),然後⽤用抓
到的資料料改變⾴頁⾯面中部分的資料料
• 最後 DOM 都可能不不是從 HTML 產⽣生,⽽而都是⽤用
JavaScript 產⽣生的,只⽤用 JS 與 DOM 產⽣生的應⽤用,稱為
Single Page Application(SPA)
32. CORS
• Cross-Origin Resource Sharing
• 簡單講,寫 app 可以直接打 API,但是網⾴頁上⾯面預設不不允
許抓取跟你不不在同⼀一個網域的 API 的資料料
• 除⾮非對⽅方 API server 帶了了像「Access-Control-Allow-
Origin: *」的 HTTP Header,即使有,遇到了了 302
redirect,也⼀一樣抓不不到
• 所以就算你寫⼀一個 JS App,但是 API 跟你不不在同⼀一個網
域,你還是往往得準備⼀一台 Server 幫你代打 API