This page was translated from English by the community. Learn more and join the MDN Web Docs community.

View in English Always switch to English

Upgrade

HTTP 1.1 μ „μš© Upgrade ν—€λ”λŠ” 이미 μ„€μ •λœ ν΄λΌμ΄μ–ΈνŠΈ/μ„œλ²„ 연결을 λ‹€λ₯Έ ν”„λ‘œν† μ½œλ‘œ μ—…κ·Έλ ˆμ΄λ“œν•˜λŠ”λ° μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄μ„œ ν΄λΌμ΄μ–ΈνŠΈκ°€ HTTP 1.1μ—μ„œ HTTP 2.0으둜 μ—…κ·Έλ ˆμ΄λ“œν•˜λŠ”λ° μ‚¬μš©ν•˜κ±°λ‚˜, HTTP λ˜λŠ” HTTPS 연결을 μ›Ήμ†ŒμΌ“μœΌλ‘œ μ—…κ·Έλ ˆμ΄λ“œν•˜λŠ”λ° μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

κ²½κ³  : HTTP/2λŠ” 이 λ©”μ»€λ‹ˆμ¦˜μ˜ μ‚¬μš©μ„ λͺ…μ‹œμ μœΌλ‘œ ν—ˆμš©ν•˜μ§€ μ•Šκ³ , HTTP/1.1μ—μ„œλ§Œ λͺ…μ‹œμ μœΌλ‘œ ν—ˆμš©ν•©λ‹ˆλ‹€.

헀더 νƒ€μž… μš”μ²­ 헀더, 응닡 헀더
κΈˆμ§€λœ 헀더 이름 예

κ°œμš”

Upgrade 헀더 ν•„λ“œλŠ” ν΄λΌμ΄μ–ΈνŠΈκ°€ μ„œλ²„μ—κ²Œ μš°μ„ μˆœμœ„κ°€ λ‚΄λ¦Όμ°¨μˆœμœΌλ‘œ λ‚˜μ—΄λœ ν”„λ‘œν† μ½œ 쀑 ν•˜λ‚˜λ‘œ μ „ν™˜ν•  것을 μš”μ²­ν•˜λŠ”λ° μ‚¬μš©λ©λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄ ν΄λΌμ΄μ–ΈνŠΈλŠ” μ „ν™˜ν•  μ„ ν˜Έ ν”„λ‘œν† μ½œ(μ•„λž˜λŠ” "example/1"κ³Ό "foo/2"인 경우)을 λ‚˜μ—΄ν•˜μ—¬ λ‹€μŒκ³Ό 같이 GET μš”μ²­μ„ 보낼 수 μžˆμŠ΅λ‹ˆλ‹€.

http
GET /index.html HTTP/1.1
Host: www.example.com
Connection: upgrade
Upgrade: example/1, foo/2

μ°Έμ‘°: Upgradeλ₯Ό 전솑할 λ•Œλ§ˆλ‹€ Connection: upgradeλ₯Ό μ„€μ •ν•΄μ•Ό ν•©λ‹ˆλ‹€.

μ„œλ²„λŠ” μ–΄λ–€ μ΄μœ λ‘œλ“  μš”μ²­μ„ λ¬΄μ‹œν•˜λ„λ‘ 선택할 수 있으며, 이 경우 200 OK와 같이 μ—…κ·Έλ ˆμ΄λ“œ 헀더가 μ „μ†‘λ˜μ§€ μ•Šμ€ κ²ƒμ²˜λŸΌ 응닡해야 ν•©λ‹ˆλ‹€.

λ§Œμ•½ μ„œλ²„κ°€ 연결을 μ—…κ·Έλ ˆμ΄λ“œν•˜κΈ°λ‘œ κ²°μ •ν–ˆμœΌλ©΄ λ°˜λ“œμ‹œ μ—…κ·Έλ ˆμ΄λ“œν•΄μ•Ό ν•©λ‹ˆλ‹€.

  1. μ „ν™˜ν•  ν”„λ‘œν† μ½œμ„ λͺ…μ‹œν•˜λŠ” Upgrade 헀더와 ν•¨κ»˜ 101 Switching Protocolsλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

    http
    HTTP/1.1 101 Switching Protocols
    Upgrade: foo/2
    Connection: Upgrade
    
  2. μƒˆλ‘œμš΄ ν”„λ‘œν† μ½œμ„ μ‚¬μš©ν•˜μ—¬ μ›λž˜ μš”μ²­μ— λŒ€ν•œ 응닡을 λ³΄λƒ…λ‹ˆλ‹€. μ„œλ²„λŠ” μ›λž˜ μš”μ²­μ„ μ™„λ£Œν•  수 μžˆλŠ” ν”„λ‘œν† μ½œλ‘œλ§Œ μ „ν™˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ„œλ²„λŠ” 426 Upgrade Required μ‘λ‹΅μ˜ μΌλΆ€λ‘œ 이 헀더λ₯Ό 보낼 μˆ˜λ„ 있으며, 이것은 μ„œλ²„κ°€ ν˜„μž¬ ν”„λ‘œν† μ½œμ„ μ‚¬μš©ν•˜μ—¬ μš”μ²­μ„ μˆ˜ν–‰ν•˜μ§€ μ•Šμ§€λ§Œ, ν”„λ‘œν† μ½œμ΄ λ³€κ²½λ˜λ©΄ μˆ˜ν–‰ν•  수 μžˆμŒμ„ λ‚˜νƒ€λƒ…λ‹ˆλ‹€. ν΄λΌμ΄μ–ΈνŠΈλŠ” μœ„ ν”„λ‘œμ„ΈμŠ€λ₯Ό μ‚¬μš©ν•˜μ—¬ ν”„λ‘œν† μ½œ 변경을 μš”μ²­ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μžμ„ΈνžŒ λ‚΄μš©κ³Ό μ˜ˆμ œλŠ” ν”„λ‘œν† μ½œ μ—…κ·Έλ ˆμ΄λ“œ λ©”μ»€λ‹ˆμ¦˜ ν•­λͺ©μ—μ„œ μ œκ³΅ν•©λ‹ˆλ‹€.

ꡬ문

http
Connection: upgrade
Upgrade: protocol_name[/protocol_version]

μ°Έμ‘°

  • Connection ν—€λ”μ˜ upgrade μœ ν˜•μ€ 항상 Upgrade 헀더와 ν•¨κ»˜ μ „μ†‘λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€.
  • ν”„λ‘œν† μ½œμ€ μ‰Όν‘œλ‘œ κ΅¬λΆ„ν•˜μ—¬ μ„ ν˜Έλ„ κΈ°μ€€ λ‚΄λ¦Όμ°¨μˆœμœΌλ‘œ λ‚˜μ—΄λ©λ‹ˆλ‹€. ν”„λ‘œν† μ½œ 버전은 μ„ νƒμ‚¬ν•­μž…λ‹ˆλ‹€.
http
Connection: upgrade
Upgrade: a_protocol/1, example, another_protocol/2.2

μ§€μ‹œμ–΄

μ‰Όν‘œλ‘œ κ΅¬λΆ„ν•œ ν”„λ‘œν† μ½œ 이름 λͺ©λ‘ (μ„ νƒμ μœΌλ‘œ 버전 포함)

ν•˜λ‚˜ μ΄μƒμ˜ ν”„λ‘œν† μ½œ 이름과 버전(이름과 버전은 "/"둜 ꡬ뢄). ν”„λ‘œν† μ½œμ€ μ„ ν˜Έλ„ κΈ°μ€€ λ‚΄λ¦Όμ°¨μˆœμœΌλ‘œ λ‚˜μ—΄ν•©λ‹ˆλ‹€.

예제

http
Connection: upgrade
Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11
http
Connection: Upgrade
Upgrade: websocket

λͺ…μ„Έμ„œ

Specification
HTTP Semantics
# field.upgrade
HTTP Semantics
# status.426
HTTP/2
# informational-responses

λΈŒλΌμš°μ € ν˜Έν™˜μ„±

같이 보기