有人嘴我說用 li 來列點很難閱讀嗚嗚
這篇換個方式嘗試
Node.js 的差別在於:
1.單線程非阻塞 I/O 模型,適合 I/O 密集型應用,如 Web 伺服器、即時聊天應用等
2.開發語言也是 JavaScript, 方便前後端統一語言,降低學習成本
在請求與響應過程中加入一些函式,對請求或響應對象進行操作,這就稱為中間件
例如在 Express.js 中,http 請求很常搭配中間件使用,像是解析請求主體、處理 CORS、記錄日誌、處理錯誤等。
範例:
const express = require('express');
const app = express();
// 簡單的日誌中間件
app.use((req, res, next) => {
console.log(`${req.method} ${req.url}`);
next(); // 傳遞控制權給下一個中間件
});
// 路由中間件
app.get('/', (req, res) => {
res.send('Hello, world!');
});
// 錯誤處理中間件
app.use((err, req, res, next) => {
console.error(err.stack);
res.status(500).send('Something broke!');
});
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
跨域資源共享 Cross-Origin Resource Sharing
一種瀏覽器的機制,可以對伺服器設定白名單,也就是設定"允許哪些來源的資源請求"
通常沒有設定 CORS 的話,瀏覽器預設會限制只能從"相同來源的伺服器"請求資源,不同網域的資源請求會被擋住
相同來源指的是