ドメイン間メモ(jsonp、cors)

1338 ワード

プロジェクトの前後端を分離するとき、最初に突き進むのはドメイン間の問題である.このノートは、ドメイン間で何が行われているのか、ドメイン間でどのように解決されているのか、およびインスタンスを記録するために使用されます.自分が忘れないように検索する必要があります
ドメイン間
httpセキュリティを向上させるため、非同ドメインアクセスを禁止する同ドメインとは何か:次の3つを満たすのが同ドメイン1:同ポートip,2:同じプロトコルであり、3:サブドメイン名でも同様でなければ非同ドメインでは直接相互アクセスできないため、jsonp、corsなどのスキームをいくつかのセキュリティ設定やテクニックで訪問しなければならない.
ドメイン間の解決
1:jsonp方式
まずjsonpとjsonは何の関係もありません.ブラウザがjs、ピクチャに対してドメインをまたぐ制限をしないためjsonpはデータをダウンロードして解析することに相当して、scriptラベルを利用してデータをダウンロードしてそれから解析はjavascriptで動的に1つのscriptファイルをロードして、どのようにこのファイルを解析して例えばjson文字列
限界:getリクエストのみpost、putなど他のリクエストが必要で満たされない
2:corsドメイン間(ポイント)
corsはw 3 cが定義した新しい標準であり、ドメイン間データ要求に適応するために使用される.ブラウザがドメイン間要求であることを発見すると、optionなどのcorsドメイン間情報をヘッダに自動的に追加する.単純要求と責任要求に分けられるが、サービス側で適切な違いを設定すれば特に大きくない.以下の条件を満たすと、単純なcorsドメイン間要求が満たされない場合、複雑なcors要求である.1:要求方式:get,post,head 2:ヘッダ制限:複雑要求Accept,Accept-Language,Content-Language,Last-Event-ID,Content-Typeのみを含む:3つの値application/x-www-form-urlencoded,multipart/form-data,text/plain|つまりヘッダをカスタマイズする場合、クッキーの送信などの機能は複雑なリクエストであり、複雑なリクエストでも単純なリクエストでもサービス側で設定する際に複雑なリクエスト設定には単純なリクエストに必要な設定が含まれています
単純corsドメイン間
      -->          -->            、           

複雑corsドメイン間
      -->           -->           、                     

学習アドレス:http://www.ruanyifeng.com/blog/2016/04/cors.html