在 Web 開發中,HTTP 方法(Methods)決定了請求的行為。以下是常見的 HTTP 方法:
範例:
fetch('https://api.example.com/data', {
method: 'GET',
headers: { 'Content-Type': 'application/json' }
})
.then(response => response.json())
.then(data => console.log(data));
JSON Web Token(JWT)是一種用於認證與授權的輕量級機制。它通常由三個部分組成:
範例 JWT: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxMjM0NTY3ODkwIiwiaWF0IjoxNjEyMzQ1Njc4fQ.HMACSHA256
注意:JWT 在使用時應該考慮安全風險,如存儲方式、過期時間、以及是否適用於 Session 管理。
CORS(Cross-Origin Resource Sharing)是一種機制,允許不同來源(origin)之間的請求。
如果前端發送請求到不同來源的 API(例如 https://api.example.com
),預設會被瀏覽器阻擋。要解決這個問題,需要後端設定 CORS。
📌 範例(Express.js):
const express = require('express');
const cors = require('cors');
const app = express();
app.use(cors({ origin: 'https://yourfrontend.com' }));
app.get('/data', (req, res) => {
res.json({ message: 'CORS 設定成功!' });
});
app.listen(3000, () => console.log('Server running on port 3000'));
這是一個經典的面試問題,理解這個過程能幫助你掌握 Web 的運作原理!
題目: 找出一個字串中,不包含重複字符的最長子字串長度。
📌 解法(Sliding Window):
var lengthOfLongestSubstring = function(s) {
let set = new Set();
let left = 0, maxLength = 0;
for (let right = 0; right < s.length; right++) {
while (set.has(s[right])) {
set.delete(s[left]);
left++;
}
set.add(s[right]);
maxLength = Math.max(maxLength, right - left + 1);
}
return maxLength;
};
時間複雜度:O(n)
題目: 判斷括號是否有效(成對匹配)。
📌 解法(Stack):
var isValid = function(s) {
let stack = [];
let map = { ')': '(', '}': '{', ']': '[' };
for (let char of s) {
if (char in map) {
if (stack.pop() !== map[char]) return false;
} else {
stack.push(char);
}
}
return stack.length === 0;
};
時間複雜度:O(n)
這篇文章涵蓋了 HTTP 方法、JWT 的風險、CORS 設定、HTTP 狀態碼,以及兩道 LeetCode 題目的解法!希望對你有所幫助!🚀
💬 你最想了解哪個主題呢?歡迎留言交流!