OPTIONS请求
试探请求,在CORS跨域请求中,首先浏览器会发送一个试探请求验证是否可以和服务器跨域通信,服务器返回200,则浏览器继续发送真实的请求.
服务器端设置如下:
const express = require('express'),
app = express();
app.listen(8090, () => {
console.log('listen ...');
});
app.use(
bodyParser.urlencoded({
extended: false
})
);
// 服务器端设置允许源
app.use((req, res, next) => {
// const ACCESS_ORIGIN = '*'; // 允许源
/* 单一源可以根据请求的域名进行动态的设置,多个系统请求也可以跨域 */
const ACCESS_ORIGIN = 'http://127.0.0.1:5500'; // 允许单一源
const CREDENTIALS = true; // 允许携带资源凭证
// const HEADERS = 'Content-Type'; // 允许哪些头
// const ALLOW_METHODS = 'get,post'; // 允许哪些方法
res.header('Access-Control-Allow-Origin', ACCESS_ORIGIN);
res.header('Access-Control-Allow-Credentials', CREDENTIALS);
// res.header('Access-Control-Allow-Headers', HEADERS);
// res.header('Access-Control-Allow-Methods', ALLOW_METHODS);
req.method === 'OPTIONS'
? res.send('CURRENT SERVICES SUPPORT CROSS DOMAIN REQUESTS!')
: next();
});
head请求
HEAD和GET本质是一样的,区别在于HEAD不含有呈现数据,而仅仅是HTTP头信息。有的人可能觉得这个方法没什么用,其实不是这样的。想象一个业务情景:欲判断某个资源是否存在,我们通常使用GET,但这里用HEAD则意义更加明确。
head请求实际开发中从没有用到过。