在HTTP请求之间保持状态可以通过以下方法实现:
示例代码(Node.js):
服务器端:
const http = require('http');
http.createServer((req, res) => {
// 设置cookie
res.setHeader('Set-Cookie', 'sessionId=123456');
res.end('Hello World');
}).listen(3000);
客户端:
const http = require('http');
const options = {
hostname: 'localhost',
port: 3000,
path: '/',
method: 'GET',
headers: {
'Cookie': 'sessionId=123456'
}
};
const req = http.request(options, (res) => {
// 处理响应
res.on('data', (data) => {
console.log(data.toString());
});
});
req.end();
示例代码(Node.js):
服务器端:
const http = require('http');
const url = require('url');
http.createServer((req, res) => {
const queryObject = url.parse(req.url, true).query;
const sessionId = queryObject.sessionId;
// 处理会话逻辑
// ...
res.end('Hello World');
}).listen(3000);
客户端:
const http = require('http');
const options = {
hostname: 'localhost',
port: 3000,
path: '/?sessionId=123456',
method: 'GET'
};
const req = http.request(options, (res) => {
// 处理响应
res.on('data', (data) => {
console.log(data.toString());
});
});
req.end();
注意:使用URL参数传递状态信息可能会暴露敏感数据,因此在实际应用中需要谨慎处理。