「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-[[戻る>WebAPI]]

* 目次 [#b33db8e0]
#contents

*概要 [#sc07bcb4]
本命は[[CROS>#t317812a]]
-2014年1月にW3C勧告になり、
-そして、最近は、[[CROS>#t317812a]]が一般的になってきた。

*HTML/CSS/JavaScript [#l67660f0]
**CORS (Cross-Origin Resource Sharing) [#t317812a]
-クロス ドメイン接続専用に用意された技術。
*詳細 [#h1a69d11]

--ブラウザとサーバ間で、約束された Request / Response を使って、~
そのドメインからのクロス ドメインの呼び出しを許可するか確認をおこなう。
**HTML/CSS/JavaScript [#l67660f0]

--サーバが許可していれば XMLHttpRequest を使用したクロス ドメインの呼び出しをおこなう。
***[[CORS (Cross-Origin Resource Sharing)]] [#t317812a]

>このように、ブラウザ・サーバの双方が CORS に対応している必要がある。

-なお、IE8, 9 ではクライアントが違うため、~
ライブラリのプラグイン内で条件分岐しているもよう。

--ドメイン間要求 (XDR) の概要~
https://msdn.microsoft.com/ja-jp/library/dd573303.aspx
--XDomainRequest と XMLHttpRequest level 2 の 違い - galife~
https://garafu.blogspot.jp/2013/08/xdomainrequest-xmlhttprequest.html
--CORS(Cross-Origin Resource Sharing)によるクロスドメイン通信の傾向と対策 | Developers.IO~
http://dev.classmethod.jp/cloud/cors-cross-origin-resource-sharing-cross-domain/

**'XDM (Cross Document Messaging) [#e96d631f]
***'XDM (Cross Document Messaging) [#e96d631f]
iframe と (HTML 5 の) postMessage を使った Cross Document Messaging による解決方法
-サーバとはiframe経由で通信する。
-親コンテンツとiframeコンテンツ間の通信にpostMessageを用いる。

**JSONP [#ydd864c1]
-jsファイルは、異なるドメイン上に配置されていても参照・実行できる特性を利用し、
--異なるドメインと通信するための空のjsファイルをクライアント側で動的に生成、
***JSONP (JSON with padding) [#ydd864c1]
-jsファイル(正確には、scriptタグのsrc属性)は、~
異なるドメイン上に配置されていても参照・実行できる特性を利用し、
--異なるドメインのサーバと、このjsファイルのsrc属性を経由して通信する。
--通信結果のJSONP(JavaScriptとして認識される)によって、~
クライアント側のCallbackの引数にJSONが指定され処理できる。
---クライアント側で異なるドメインと通信するためのscriptタグを動的に生成、
---src属性には、URLのQueryStringに?callback=parseResponseなどと書く。
---サーバーは、parseResponse{"JSON文字列"}的なレスポンスを返す。
---クライアント側のCallbackの引数にJSONが指定され処理できる。

-特徴
--JSONP では認証との組み合わせが困難
--GET の URI の一部の形で付帯情報を渡す必要がある。
--単に、[[CORS (Cross-Origin Resource Sharing)>#t317812a]]の仕組みが無いだけ。

*Plug-in (FLASH, Silverlight [#g9b7df36]
**Silverlight [#zedcaf11]
**Plug-in [#g9b7df36]

***Silverlight [#zedcaf11]
接続先のサーバに
-clientaccesspolicy.xml
-または crossdomain.xml

という名前の「ポリシー ファイル」を配置する

**Flash [#d147edf2]
***Flash [#d147edf2]
接続先のサーバにcrossdomain.xmlという名前の「ポリシー ファイル」を配置する。

*参考 [#z17f0ffb]
-JavaScript のクロス ドメイン (Cross-Domain) 問題の回避と諸注意 – Tsmatz~
https://blogs.msdn.microsoft.com/tsmatsuz/2011/06/24/jsonp-cross-domain/

**CORS [#fd76353c]
-CORSでハマったことまとめ - pixiv inside~
http://inside.pixiv.net/entry/2014/12/16/181804
-ASP.NET Web API 2 CORS サポートについて - miso_soup3 Blog~
http://miso-soup3.hateblo.jp/entry/2013/10/08/015152

**JSONP [#t5583808]
-第11回 JSONP入門:これでできる! クロスブラウザJavaScript入門|gihyo.jp … 技術評論社~
http://gihyo.jp/dev/serial/01/crossbrowser-javascript/0011
-ASP.NET Web APIのサービスをJSONPで呼び出す。 | かるあのメモ on WordPress~
https://karuakun.wordpress.com/2014/07/09/asp-net-web-api%E3%81%AE%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%82%92jsonp%E3%81%A7%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%99%E3%80%82/

----
Tags: [[:プログラミング]], [[:通信技術]], [[:.NET開発]], [[:.NET Core]], [[:ASP.NET]], [[:ASP.NET Web API]]


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS