この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 44999|答える: 4

[ASP.NET] asp.net MVCは単一のコントローラ方式でドメインを越えることを可能にします

[リンクをコピー]
掲載地 2018/07/31 10:13:37 | | | |
Corsとは何ですか?

CORSはW3Cの標準で、「クロスオリジンリソース共有」の略です。
これにより、ブラウザはクロスオリジンサーバーに対してXMLHttpRequestリクエストを行え、AJAXが均質にしか使えないという制約を克服します。

1. はじめに

CORSはブラウザとサーバーの両方のサポートを必要とします。 現在、すべてのブラウザがこの機能をサポートしており、IEブラウザはIE10以下にはなりません。

CORSの通信プロセス全体はブラウザによって自動的に完了し、ユーザーの参加は必要ありません。 開発者にとって、CORS通信はAJAX通信と同様で、コード自体はまったく同じです。 ブラウザがAJAXリクエストが送信元を通過すると、自動的に追加のヘッダー情報や時にはもう1つのリクエストが追加されますが、ユーザーはそれを感じません。

したがって、CORS通信を実現する鍵はサーバーにあります。 サーバーがCORSインターフェースを実装している限り、ソース間で通信が可能です。

実際、ウェブサーバープログラム(ASP.NET やPHPなど)は、受信するHttpリクエストがクロスドメインのAjaxリクエストかどうかを区別できず、管理もできません。CORSはこの問題を解決するために設計されており、W3CのカスタムCORS標準はブラウザにAjaxのクロスドメイン要求を可能にする仕組みを提供します。

2: ネイティブJS Ajaxリクエストコード

jQueryを参照したくないので、以下のメソッドをjsでカプセル化しました。

Ajaxはインターフェーステストを要求し、以下のエラーを発見しました。




三つ目:クロスドメインを可能にするコントローラメソッドを設定する

まあまあです誰でも許可されていますコントローラーまたはAPIメソッドはweb.configファイル内のクロスドメインですsystem.webServer以下の構成がノードの下に追加されます:

上記の結果は私たちが望んでいたものではありません! ドメイン間でインターフェースの一つにドメイン名だけをアクセスさせたい場合は、次のような特徴を定義する必要があります。

ドメイン間アクセス権限を設定するコードは、以下の段落です。HttpContext.Response.AppendHeader("Access-Control-Allow-Origin", origin);

コントローラメソッドの上に特性を次のように設定しました:

以下のように結果を出して、再びAjaxのリクエストを開始します。



他のウェブサイトのAPIインターフェースリソースにも正常にアクセスできます。

(終わり)





先の:皆さん、こんにちは{:1_7:}
次に:CSSのテキストは2つの方法の外側に隠されています
 地主| 掲載地 2019/06/17 14:23:05 |
HTTPリクエストメソッドはGETとPOSTだけでなく、最も一般的に使われるものです。 RFC2616標準(現在のHTTP/1.1)によると、通常8つのメソッドがあります:OPTIONS、POST、PUT、DELETE、TRACE、CONNECT。

OPTIONSリクエストメソッドには主に2つの用途があります:

1. サーバーがサポートするHTTPリクエストメソッドを取得する; また、これはハッカーがよく使う手法でもあります。

2. サーバーのパフォーマンスチェックに使用。 例えば、AJAXがクロスドメイン要求を行う際、実際のリクエストが安全かどうかを判断するために、別のドメイン名のリソースにHTTP OPTIONSヘッダーを送信する必要があります。
 地主| 掲載地 2019/11/04 17:29:52 |
jquery.min.js:2 Cross-Origin Read Blocking (CORB) blocked cross-origin response http://192.168.252.193:2019/home/testMIME型のapplication/jsonで。 参照https://www.chromestatus.com/feature/5629709824032768詳細はこちらをご覧ください。
 地主| 掲載地 2020/01/19 15:33:23 |

掲載地 2021/11/12 15:59:52 |
よく書かれていて、学識も豊富です
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com