Http
Node.js Http
建立 http server
const http = require('http');
const path = require('path');
const fs = require('fs');
const fsPromises = require('fs').promises;
// PORT
const PORT = process.env.PORT || 3333;
// 建立 Server
const server = http.createServer((request, response) => {
console.log(request.url, request.method);
// 設定回應資料
response.statusCode = 200;
response.setHeader('Content-Type', 'text/html');
let view_path = path.join(__dirname, 'view', 'index.html')
// 讀取樣板檔案
fs.readFile(view_path, 'utf8', (error, data) => {
response.end(data);
});
});
// 啟動 Server
server.listen(PORT, () => {
console.log(`Server is running on port ${PORT}`);
})
變數說明
request 請求
變數 | 說明 |
---|---|
request.url | 請求網址 |
request.method | 請求方法,GET、POST、PUT、DELETE |
request.headers | 標頭 |
request.headers.origin | 請求來源 |
request.body | 請求傳送的資料 |
request.cookies | Cookie |
request.accepts() | 接受回傳什麼類型的資料 |
response 回應
變數 | 說明 |
---|---|
response.statusCode | HTTP 狀態碼,e.g. 404, 200 |
response.setHeader() | 設定標頭 |
response.end() | 結束請求,並寫入要回傳的資料 |
response.send() | 傳送資料 |
response.sendFile() | 傳送檔案 |
response.writeHead() | 寫入標頭 |
response.redirect() | 重新導向 |
response.status() | 設定狀態碼 |
response.json() | 回傳 JSON 格式資料 |
response.type() | 指定回傳格式類型 |
response.cookie() | 設定 Cookie |
response.sendStatus() | 傳送狀態 |
response.clearCookie() | 清除 Cookie |
response.cookie() 設定 Cookie
response.cookie("jwt", refreshToken, {
httpOnly: true, // JavaScript can not access
sameSite: 'None', // Strict, Lax, None,
secure : true, // https
maxAges: 24 * 60 * 60 * 1000, // expire time
});
參考資料
最後修改 March 31, 2022