blob: b1597e7d9d02f916ad077017108104875286fe0b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
---
title: 'HTML attribute: crossorigin'
slug: Web/HTML/Attributes/crossorigin
translation_of: Web/HTML/Attributes/crossorigin
---
<div>{{draft}}</div>
<p class="seoSummary">{{ HTMLElement("audio") }}, {{ HTMLElement("img") }}, {{ HTMLElement("link") }}, {{ HTMLElement("script") }}, {{ HTMLElement("video") }}에 있는 crossOrigin 속성은 element가 CORS 요청을 처리하는 방식을 명시하여 element가 fetch한 데이터를 <a href="/en-US/docs/Web/HTTP/CORS">CORS</a> 가능하게 합니다. 특정 element에서는 CORS 세팅 속성이 될 수도 있습니다.</p>
<p>Media element의 <code>crossorigin</code> 속성은 CORS 세팅입니다.</p>
<p>세팅 속성은 열거형이며 아래의 값을 가질 수 있습니다:</p>
<table class="standard-table">
<tbody>
<tr>
<td class="header">Keyword</td>
<td class="header">Description</td>
</tr>
<tr>
<td><code>anonymous</code></td>
<td>element의 CORS 요청의 credentials flag가 'same-origin'으로 지정됩니다.</td>
</tr>
<tr>
<td><code>use-credentials</code></td>
<td>element의 CORS 요청의 crendentials flag가 'include'로 지정됩니다.</td>
</tr>
<tr>
<td><code>""</code></td>
<td><code>crossorigin</code> 또는 <code>crossorigin=""</code>처럼 빈 값을 할당하는건 <code>anonymous</code>와 동일합니다.</td>
</tr>
</tbody>
</table>
<p>기본적으로 (attribute를 명시하지 않으면) CORS 요청은 할 수 없습니다. "anonymous" 키워드는 쿠키를 통한 <strong>user credentials</strong> 교환이 필요 없음을 의미합니다. Same origin이 아닌 경우 client-side SSL certificates/HTTP 인증은 <a class="external" href="http://www.w3.org/TR/cors/#user-credentials">Terminology section of the CORS specification</a>에서 기술하고 있습니다.</p>
<p>빈 문자열이나 잘못된 값일 경우 <code>anonymous</code> 와 동일하게 동작합니다.</p>
<h3 id="예시_script_element의_crossorigin">예시: script element의 crossorigin</h3>
<p>아래의 {{HTMLElement("script")}} element를 통해 브라우저로 하여금 <code>https://example.com/example-framework.js</code> 스크립트를 user-credential 없이 요청하도록 명시할 수 있습니다.</p>
<pre class="brush: html"><script src="https://example.com/example-framework.js" crossorigin="anonymous"></script></pre>
<h3 id="예시_credential_포함한_Webmanifest">예시: credential 포함한 Webmanifest</h3>
<p><a href="/en-US/docs/Web/Manifest">Manifest</a> 요청 시 credential이 필요하다면 same-origin의 리소스라 하여도 <code>use-credentials</code> 값을 사용해야 합니다.</p>
<pre class="brush: html"><link rel="manifest" href="/app.webmanifest" crossorigin="use-credentials"></pre>
<h2 id="사양">사양</h2>
<table class="standard-table">
<thead>
<tr>
<th scope="col">사양</th>
<th scope="col">상태</th>
<th scope="col">설명</th>
</tr>
</thead>
<tbody>
<tr>
<td>{{SpecName('HTML WHATWG', 'infrastructure.html#cors-settings-attributes', 'CORS settings attributes')}}</td>
<td>{{Spec2('HTML WHATWG')}}</td>
<td></td>
</tr>
<tr>
<td>{{SpecName('HTML WHATWG', 'embedded-content.html#attr-img-crossorigin', 'crossorigin')}}</td>
<td>{{Spec2('HTML WHATWG')}}</td>
<td></td>
</tr>
</tbody>
</table>
<h2 id="브라우저_호환성">브라우저 호환성</h2>
<h3 id="<script_crossorigin>"><script crossorigin></h3>
<p>{{Compat("html.elements.script.crossorigin")}}</p>
<h3 id="<video_crossorigin>"><video crossorigin></h3>
<p>{{Compat("html.elements.video.crossorigin")}}</p>
<h2 id="더_보기">더 보기</h2>
<ul>
<li><a href="/en-US/docs/Web/HTTP/CORS">Cross-Origin Resource Sharing (CORS)</a></li>
<li><a href="/en-US/docs/Web/HTML/Attributes/rel">HTML attribute: <code>rel</code></a></li>
</ul>
<div>{{QuickLinksWithSubpages("/en-US/docs/Web/HTML/")}}</div>
|