[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
}));
Reference
この問題について([Backend]CORSとは?), 我々は、より多くの情報をここで見つけました https://velog.io/@sanizzang00/Backend-CORS란テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol