[Backend]CORSとは?

995 ワード

CORS


:クライアントとサーバが同じIPアドレスで動作している場合は、そのソースを何の制限もなく互いに交換することができますが、クライアントがサーバと他のIP上にある場合は、原則としてデータを交換することはできません.したがって、クライアントとサーバが異なるドメインでデータを交換したい場合、サーバがクライアントに反応を送信する際には、サーバがサーバを許可するためにAccess-Control-Allow-Originという部分をタイトルに追加しなければならないので、これらのデータをマーキングすることができます.したがって、デフォルトでは、他のipはデータを共有できません=>サーバで指定した内容をヘッダに含める必要があります.
app.use((req, res, next) => {
	res.setHeader('Access-Control-Allow-Origin', 'http://127.0.0.1:5500');
	res.setHeader(
		'Access-Control-Allow-Methods',
		'OPTIONS, GET, POST, DELETE'
	);
});
=>このように使うときの不便さは?
タイトル名を正確に知る必要があります.
タイトルを指定するときに誤字が少しでも発生した場合、動作も私たちの望み通りにはなりません.
設定するたびに探し続け、正しいタイトルを書きます.
いちいちタイプしなくても使いやすいミドルウェアがあります.
import cors from 'cors';

app.use(cors({
	origin: ['http://127.0.0.1:5500'],
	optionsSuccessStatus: 200,
	credentials: true, //Access-Control-Allow-Credentials: true
}));