blob: e905f414813516dfc14434aa2455c49daac5367b (
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
|
---
title: 사전 요청
slug: Glossary/Preflight_request
translation_of: Glossary/Preflight_request
---
<p>교차 출처 리소스 공유 사전 요청은 본격적인 교차 출처 HTTP 요청 전에 서버 측에서 그 요청의 메서드와 헤더에 대해 인식하고 있는지를 체크하는 것입니다.</p>
<p>이것은 HTTPHeader("Access-Control-Request-Method"), HTTPHeader("Access-Control-Request-Headers"), HTTPHeader("Origin") 총 3가지의 HTTP request headers를 사용하는 HTTPMethod("OPTIONS") 요청입니다.</p>
<p>사전 요청은 일반적인 상황에서는 브라우저에서 자동으로 발생됩니다. 그러므로 프런트엔드 개발자가 이 요청을 직접 작성할 필요는 없습니다. 또한 프리 플라이트 요청이 필요한 경우에만 나타나므로 단순 요청(simple requests)의 경우에는 사전 요청이 생략됩니다.</p>
<p>예를 들어, 클라이언트는 DELETE 요청을 하기 전에 사전 요청을 통해 서버가 HTTPMethod("DELETE")을 허용하는지 물어볼 수 있습니다.</p>
<pre class="notranslate">OPTIONS /resource/foo
Access-Control-Request-Method: DELETE
Access-Control-Request-Headers: origin, x-requested-with
Origin: https://foo.bar.org</pre>
<p>만약 서버가 그것을 허용한다면, 응답 헤더에 HTTPHeader("Access-Control-Allow-Methods")라고 나타나게 됩니다.</p>
<pre class="notranslate">HTTP/1.1 204 No Content
Connection: keep-alive
Access-Control-Allow-Origin: https://foo.bar.org
Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE
Access-Control-Max-Age: 86400</pre>
<p>위의 예와 같이, 동일한 URL을 사용하는 요청에 대해서는 <a href="/en-US/docs/Web/HTTP/Headers/Access-Control-Max-Age">Access-Control-Max-Age</a> 헤더를 이용하여 정해진 기간 내에는 사전 요청에 대한 응답이 선택적으로 이루어질 수 있습니다.</p>
<h2 id="See_also">See also</h2>
<ul>
<li><a href="/en-US/docs/Glossary/CORS">CORS</a></li>
<li>{{HTTPMethod("OPTIONS")}}</li>
</ul>
|