クロスドメイン
リソースが要求するリソースが最初のリソースとは異なるドメイン名である場合、クロスサイトHTTP要求を開始します。
たとえば、ドメイン名A(http://domainb.foo)を備えたWebアプリケーションは、ドメイン名B(http://domainb.foo/image.jpg)を導入します(http://domainb.foo/image.jpg)。ドメイン名Aを使用したWebアプリケーションにより、ブラウザはクロスサイトHTTPリクエストを開始します。今日のWeb開発では、クロスサイトHTTP要求を使用してさまざまなリソース(CSS、画像、JavaScriptスクリプト、その他のリソースを含む)をロードすることが一般的で一般的な方法になりました。
ご存知のように、セキュリティ上の理由から、ブラウザはスクリプトで開始されたクロスサイトリクエストを制限します。たとえば、XMLHTTPRequestオブジェクトを使用してHTTP要求を開始するには、同じオリジンポリシーに準拠する必要があります。具体的には、Webアプリケーションは、xmlhttprequestオブジェクトを使用して、ロードするソースドメイン名にHTTP要求を開始することができ、他のドメイン名にリクエストを開始することはできません。より強力で、より豊かで安全なWebアプリケーションを開発するために、開発者はセキュリティを失うことなく、より強力で豊かになりたいと思っています。たとえば、XMLHTTPRequestを使用して、クロスサイトHTTP要求を開始できます。 (クロスドメインのこの説明は不正確です。クロスドメインは、ブラウザがクロスドメイン要求を制限するということではありませんが、クロスドメイン要求は正常に開始できますが、結果はCSRFクロスドメイン攻撃の原則です。 ChromeやFirefoxなどのHTTPSドメイン。
詳細:https://developer.mozilla.org/zh-cn/docs/web/http/access_control_cors
CROS
CORSは、フルネームクロスオリジンリソース共有です。サーバーは、関連する応答ヘッダー情報を追加するだけで、クライアントがAJAXクロスドメイン要求を発行できるようにする必要があります。
@crossorigin
1.コントローラー上のすべての要求を直接使用すると、クロスドメインになります。
@Crossorigin(Origins = "http://domain2.com"、maxage = 3600)@restcontroller@requestmapping( "/counced")public class concountcontroller {@requestmapping( "/{id}")パブリックアカウント取得(@pathvariable long id){// "/{id}")public void remove(@pathvariable long id){// ...}} 2。メソッドで使用します
@crossorigin(maxage = 3600) @restcontroller @requestmapping( "/counced")public class concountcontroller { @crossorigin( "http://domain2.com")@requestmapping( "/{id}")パブリックアカウントの取得( @pathvariable reginaid { @pathvariable id {/requestmappy(} @recretmod.ddedmetmod. "/{id}")public void remove(@pathvariable long id){// ...}}別の方法:
CorsFilterの主な目的は、関連する情報ヘッダーを追加することです。これはフィルターを使用して達成することもできます。
@configurationPublic class beanconfiguration {@bean public corsfilter corsfilter(){final urlbasedCorsConfigureationSource urlbasedCorsConfigureationSource = new Url -BasedCorsConfigurationSource();最終的なcorsconfiguration corsconfiguration = new corsconfiguration(); corsconfiguration.setallowedcredentials(true); corsconfiguration.addallowedorigin( "*"); corsconfiguration.addallowedheader( "*"); corsconfiguration.addallowedMethod( "*"); urlbasedCorsConfigurationSource.registerCorsConfiguration( "/**"、corsConfiguration); new corsfilter(urlbasedcorsconfigurationsource)を返します。 }}Access-Control-Allow-Origin:アクセスが許可されているクライアントドメイン名、たとえばhttp://web.xxx.com。 *、それは任意のドメインからアクセスできることを意味します。つまり、制限は必要ありません。
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。