Baseline Widely available *
ì ì fetch()
ë©ìëë ë¤í¸ìí¬ìì 리ìì¤ë¥¼ ì·¨ëíë ì 차를 ììíê³ , ìëµì´ ì¬ì© ê°ë¥í´ì§ë©´ ì´ííë íë¡ë¯¸ì¤ë¥¼ ë°íí©ëë¤.
íë¡ë¯¸ì¤ë ìì²ì ëí ìëµì ëíë´ë Response
ê°ì²´ë¡ ì´íí©ëë¤.
fetch()
íë¡ë¯¸ì¤ë ë¤í¸ìí¬ ì¤ë¥(ë³´íµ ê¶í 문ì ë±)ê° ìì ëë§ ê±°ë¶ëë©°, 404
ë±ì HTTP ì¤ë¥ ììë ê±°ë¶ëì§ ììµëë¤. ê·¸ë¬ë¯ë¡ then()
ì²ë¦¬ê¸°ë ë°ëì Response.ok
ëë Response.status
ìì±ì íì¸í´ì¼ í©ëë¤.
fetch()
ë Window
ì WorkerGlobalScope
ì쪽 모ëìì ì ì í¨ìì´ë¯ë¡, 리ìì¤ë¥¼ ì·¨ëí ìí©ì´ ì기ë ê±°ì 모ë 컨í
ì¤í¸ìì ì¬ì©í ì ììµëë¤.
fetch()
ë©ìëë ë°ìì¤ë ¤ë 리ìì¤ì ì§ìì´ê° ìëë¼, Content Security Policyì connect-src
ì§ìì´ì ì ì´ë¥¼ ë°ìµëë¤.
êµ¬ë¬¸ì°¸ê³ :
fetch()
ë©ìëì 매ê°ë³ìëRequest()
ìì±ìì ëì¼í©ëë¤.
fetch(resource)
fetch(resource, options)
매ê°ë³ì
resource
ì·¨ëíë ¤ë 리ìì¤ë¥¼ ì ìí©ëë¤. ë¤ì ì¤ íëì ëë¤.
URL
ì²ë¼ 문ìì´ ë³íì를 í¬í¨í ê°ì²´.Request
ê°ì²´.options
Optional
ìì²ì ì ì©íê³ ì íë ì¬ì©ì ì§ì ì¤ì ì í¬í¨íë ê°ì²´ì ëë¤. ì¬ì© ê°ë¥í ì¤ì ì ë¤ìê³¼ ê°ìµëë¤.
method
GET
, POST
ë± ìì² ë©ìëì
ëë¤. ì°¸ê³ ë¡ Origin
í¤ëë HEAD
ë GET
ë©ìëì Fetch ìì²ìë ì¤ì ëì§ ììµëë¤. (ì´ ëìì Firefox 65ìì ìì ëììµëë¤. Firefox bug 1508661ì 참조íì¸ì.) RFC 9110ì ì ìë ë©ìë ì¤ íëì ëì문ì êµ¬ë¶ ìì´ ì¼ì¹íë 문ìì´ì ìëì¼ë¡ ë문ìíë©ëë¤. PATCH
ì²ë¼ ë³ëë¡ ì ìí ë©ìë를 ì¬ì©íë ¤ë©´ ì§ì ë문ìë¡ ì
ë ¥í´ì¼ í©ëë¤.
ìì²ì ì¶ê°íê³ ì íë í¤ëë¤ì
ëë¤. Headers
ê°ì²´ì ë£ì´ ì ê³µí ìë ìê³ , String
ê°ë¤ì ê°ì§ ê°ì²´ 리í°ë´ë¡ ì ê³µí´ë ë©ëë¤. ì´ë¤ ì´ë¦ë¤ì ê¸ì§ëë¤ë ì ì 주ìíì¸ì.
ì°¸ê³ :
Authorization
HTTP í¤ëë ìì²ì ì¶ê°í ì ìì§ë§, ìì²ì´ ë¤ë¥¸ ì¶ì²ë¡ 리ë¤ì´ë í¸ëë©´ ì ê±°ë©ëë¤.
body
ìì²ì ì¶ê°íê³ ì íë 본문ì
ëë¤. Blob
, ArrayBuffer
, TypedArray
, DataView
, FormData
, URLSearchParams
, 문ìì´ ê°ì²´ ëë 리í°ë´, ReadableStream
ê°ì²´ë¥¼ ì¬ì©í ì ììµëë¤. ì ì¼ ë§ì§ë§ì ìì§ ì¤íì 기ë¥ì´ë¯ë¡ í¸íì± ì 보를 먼ì íì¸í´ì ì¬ì©í ì ììì§ ê²ì¦íì¸ì. GET
ê³¼ HEAD
ë©ìëë 본문ì ê°ì§ ì ììµëë¤.
mode
ì´ ìì²ì ì¬ì©í 모ë, ì¦ cors
, no-cors
, ëë same-origin
ì
ëë¤.
credentials
ë¸ë¼ì°ì ê° ì격ì¦ëª (ì¿ í¤, HTTP ì¸ì¦ í목, TLS í´ë¼ì´ì¸í¸ ì¸ì¦ì)ì ì´ë»ê² ì·¨ê¸í ì§ ì ì´í©ëë¤. ë¤ì ì¤ í 문ìì´ì´ì´ì¼ í©ëë¤.
omit
ë¸ë¼ì°ì ê° ìì²ìì ì격ì¦ëª
ì ì ì¸íëë¡ íê³ , Set-Cookie
í¤ëì²ë¼ ìëµì í¬í¨ë ì격ì¦ëª
ë 무ìíëë¡ ì§ìí©ëë¤.
same-origin
ë¸ë¼ì°ì ê° ëì¼ ì¶ì² URL ìì²ì ëí´ìë ì격ì¦ëª ì ë³´ë´ê³ , ëì¼ ì¶ì² URL ìëµì í¬í¨ë ì격ì¦ëª ë ì¬ì©íëë¡ ì§ìí©ëë¤. 기본 ê°ì ëë¤.
include
ë¸ë¼ì°ì ëì¼ê³¼ êµì°¨ ì¶ì² ìì² ëª¨ëì ì격ì¦ëª ì ë³´ë´ê³ , ìëµ ì격ì¦ëª ë 모ë ì¬ì©íëë¡ ì§ìí©ëë¤.
ì°¸ê³ : ì격ì¦ëª ì êµì°¨ ì¶ì²ì ëí ë¨ì ìì²ê³¼ "ìµì¢ " ìì²ìë í¬í¨ë ì ìì§ë§, CORS ì¬ì ìì²ìë í¬í¨ëì´ì ìë©ëë¤.
cache
ìì²ì´ ë¸ë¼ì°ì HTTP ìºìì ì´ë»ê² ìí¸ìì©í ì§ ì ì´í©ëë¤. ê°ë¥í ê°ì default
, no-store
, reload
, no-cache
, force-cache
, only-if-cached
ì¤ íëê³ , ê°ê°ì ëí ì¤ëª
ì Request
ê°ì²´ 문ìì cache
ìì±ìì íì¸í ì ììµëë¤.
redirect
리ë¤ì´ë í¸ ìëµ ì²ë¦¬ë²ì ëë¤.
follow
: ìëì¼ë¡ 리ë¤ì´ë í¸ë¥¼ ë°ë¼ê°ëë¤. 기본 ê°ì
ëë¤.error
: 리ë¤ì´ë í¸ ë°ì ì ì¤ë¥ì í¨ê» ìì²ì ì¤ë¨í©ëë¤.manual
: í¸ì¶ìê° ìëµì ë¤ë¥¸ 컨í
ì¤í¸ìì ì²ë¦¬í´ì¼ í©ëë¤. ìì¸í ì ë³´ë WHATWG fetch íì¤ìì íì¸íì¸ì.referrer
ìì² ë¦¬í¼ë¬ë¥¼ ì§ì íë 문ìì´ì
ëë¤. ëì¼ ì¶ì² URL, about:client
, ë¹ ë¬¸ìì´ ì¤ íë를 ì¬ì©í ì ììµëë¤.
referrerPolicy
ìì²ì ì¬ì©í 리í¼ë¬ ì ì±
ì ì§ì í©ëë¤. no-referrer
, no-referrer-when-downgrade
, same-origin
, origin
, strict-origin
, origin-when-cross-origin
, strict-origin-when-cross-origin
, unsafe-url
ì¤ íë를 ì¬ì©í ì ììµëë¤.
integrity
ìì²ì íì 리ìì¤ ë¬´ê²°ì±ì ì§ì í©ëë¤. (ìì: sha256-BpfBw7ivV8q2jLiT13fxDYAe2tJllusRSZ273h2nFSE=
)
keepalive
ìì²ì´ íì´ì§ ìëª
ë³´ë¤ ì¤ë ì§ìëë 걸 íì©í©ëë¤. keepalive
íëê·¸ë Navigator.sendBeacon()
APIì ëì²´ì ì
ëë¤.
signal
AbortSignal
ê°ì²´ ì¸ì¤í´ì¤ì
ëë¤. ì·¨ë ìì²ê³¼ íµì íë¤ê° íìí ê²½ì° AbortController
를 íµí´ ìì²ì ì¤ë¨í ì ììµëë¤.
priority
ê°ì ì¢ ë¥ì ì·¨ë ìì² ì¤ìì ì´ ìì²ì ìëì ì¤ìë를 ì§ì í©ëë¤. ë¤ì 문ìì´ ì¤ íëì¬ì¼ í©ëë¤.
high
: ê°ì ì¢
ë¥ì ì·¨ë ìì² ì¤ ëì ì°ì ììì
ëë¤.low
: ê°ì ì¢
ë¥ì ì·¨ë ìì² ì¤ ë®ì ì°ì ììì
ëë¤.auto
: ìëì¼ë¡ ì·¨ë ìì²ì ì°ì ìì를 ê²°ì í©ëë¤. 기본 ê°ì
ëë¤.Response
ê°ì²´ë¡ ì´ííë Promise
ì
ëë¤.
AbortError
DOMException
ìì²ì´ AbortController
ì ëí abort()
ë©ìëì ìí´ ì·¨ìëë©´ ë°ìí©ëë¤.
TypeError
ë¤ì í목ë¤ì ìí´ ë°ìí©ëë¤.
// 공백 í¬í¨: "C ontent-Type" const headers = { 'C ontent-Type': 'text/xml', 'Breaking-Bad': '<3', }; fetch('https://example.com/', { headers });ì í¨íì§ ìì í¤ë ê°. í¤ë ê°ì²´ë ì íí ë ììë§ í¬í¨í´ì¼ í©ëë¤.
const headers = [ ['Content-Type', 'text/html', 'extra'], ['Accept'], ]; fetch('https://example.com/', { headers });ì í¨íì§ ìì URLì´ë ì¤í´, fetchê° ì§ìíì§ ìë ì¤í´, í¹ì ìì² ëª¨ëì ëí´ ì§ìíì§ ìë ì¤í´.
fetch('blob://example.com/', { mode: 'cors' });URLì ì격ì¦ëª ì´ í¬í¨ë¨.
fetch('https://user:password@example.com/');ì í¨íì§ ìì 리í¼ë¬ URL.
fetch('https://example.com/', { referrer: './abc\u0000df' });ì í¨íì§ ìì 모ë(
navigate
ì websocket
).
fetch('https://example.com/', { mode: 'navigate' });ìì² ìºì 모ëê° "only-if-cached"ì¸ë° ìì² ëª¨ëê° "same-origin"ì´ ìë.
fetch('https://example.com/', { cache: 'only-if-cached', mode: 'no-cors', });ìì² ë©ìëê° ì í¨íì§ ìì ì´ë¦ í í°ì´ê±°ë, ê¸ì§ë í¤ë ì´ë¦ ì¤ íë (
'CONNECT'
, 'TRACE'
or 'TRACK'
).
fetch('https://example.com/', { method: 'CONNECT' });ìì² ëª¨ëê° "no-cors"ì¸ë° ìì² ë©ìëê° CORSì ì í©í ë©ìëê° ìë (
'GET'
, 'HEAD'
, or 'POST'
).
fetch('https://example.com/', { method: 'CONNECT', mode: 'no-cors', });ìì² ë©ìëê°
'GET'
ëë 'HEAD'
ì¸ë° ë³¸ë¬¸ì´ null
ë undefined
ë ìë.
fetch('https://example.com/', { method: 'GET', body: new FormData(), });ë¤í¸ìí¬ ì¤ë¥. ìì
ì í¬ì ì·¨ë ìì² ìì (미리보기)ììë ìë¡ì´ Request
ê°ì²´ë¥¼ ìì±ìë¡ ìì±íê³ , fetch()
í¸ì¶ë¡ ì·¨ëí©ëë¤. ì´ë¯¸ì§ë¥¼ ì·¨ëíê³ ìì¼ë¯ë¡, ìì²ì ì¬ë°ë¥´ê² ì²ë¦¬í ì ìëë¡ Response.blob()
ë©ìë를 í¸ì¶í´ ì í©í MIME ì íì ë¶ì¬íê³ , ê°ì²´ URLì ìì±í´ <img>
ììë¡ íë©´ì 그립ëë¤.
const myImage = document.querySelector("img");
const myRequest = new Request("flowers.jpg");
fetch(myRequest)
.then((response) => {
if (!response.ok) {
throw new Error(`HTTP ì¤ë¥! ìí: ${response.status}`);
}
return response.blob();
})
.then((response) => {
myImage.src = URL.createObjectURL(response);
});
ì¤ì ì ê³µ ì·¨ë ìì (미리보기)ììë ëê°ì´ ì´ë¯¸ì§ë¥¼ ì·¨ëíì§ë§, fetch()
í¸ì¶ì ì¤ì ê°ì²´ë¥¼ ì ê³µíë ì ì´ ë¤ë¦
ëë¤.
const myImage = document.querySelector("img");
const myHeaders = new Headers();
myHeaders.append("Accept", "image/jpeg");
const myInit = {
method: "GET",
headers: myHeaders,
mode: "cors",
cache: "default",
};
const myRequest = new Request("flowers.jpg");
fetch(myRequest, myInit).then((response) => {
// â¦
});
ì¤ì ê°ì²´ë¥¼ Request
ìì±ìì ì ê³µí´ë ê°ì 결과를 ì»ì ì ììµëë¤.
const myRequest = new Request("flowers.jpg", myInit);
headers
ìë ê°ì²´ 리í°ë´ì ì¬ì©í ìë ììµëë¤.
const myInit = {
method: "GET",
headers: {
Accept: "image/jpeg",
},
mode: "cors",
cache: "default",
};
const myRequest = new Request("flowers.jpg", myInit);
ëª
ì¸ì ë¸ë¼ì°ì í¸íì± ê°ì´ 보기
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4