Jamkris
πŸŒ™
πŸ’‘ Develop

🌐 3XX (Redirection) μƒνƒœ μ½”λ“œ

date
May 27, 2024
slug
🌐 3XX μƒνƒœ μ½”λ“œ
author
status
Public
tags
Blog
Knowledge
summary
🌐 3XX (Redirection) μƒνƒœ μ½”λ“œ
type
Post
thumbnail
category
πŸ’‘ Develop
updatedAt
Jun 21, 2024 03:26 PM

3XX RedirectionΒ 

πŸ‘‰πŸ»
3xx λ²ˆλŒ€μ˜ μƒνƒœ μ½”λ“œλ“€μ€λ¦¬λ‹€μ΄λ ‰μ…˜μ„ μ˜λ―Έν•˜λ©°, μ΄λŠ” μš”μ²­μ„ μ™„λ£Œν•˜λ €λ©΄ 좔가적인 μž‘μ—…(νŽ˜μ΄μ§€ 이동)이 ν•„μš”ν•¨μ„ μ˜λ―Έν•œλ‹€. ν΄λΌμ΄μ–ΈνŠΈκ°€ 관심 μžˆμ–΄ ν•˜λŠ” λ¦¬μ†ŒμŠ€μ— λŒ€ν•΄ λ‹€λ₯Έ μœ„μΉ˜λ₯Ό μ‚¬μš©ν•˜λΌκ³  λ§ν•΄μ£Όκ±°λ‚˜ κ·Έ λ¦¬μ†ŒμŠ€μ˜ λ‚΄μš© λŒ€μ‹  λ‹€λ₯Έ λŒ€μ•ˆ 응닡을 μ œκ³΅ν•œλ‹€.
Β 
CODE
MEAN
MEAN KOREA
300
Multiple Choices
선택 ν•­λͺ©μ΄ μ—¬λŸ¬ 개 μžˆλ‹€.
301
Moved Permanently
μ§€μ •ν•œ λ¦¬μ†ŒμŠ€κ°€ μƒˆλ‘œμš΄ URI둜 μ΄λ™ν•˜μ˜€λ‹€.
302
Found
μš”μ²­ν•œ λ¦¬μ†ŒμŠ€λ₯Ό λ‹€λ₯Έ URIμ—μ„œ μ°Ύμ•˜λ‹€.
303
See Other
λ‹€λ₯Έ μœ„μΉ˜λ‘œ μš”μ²­ν•˜λΌ.
304
Not Modified
λ§ˆμ§€λ§‰ μš”μ²­ 이후 μš”μ²­ν•œ νŽ˜μ΄μ§€λŠ” μˆ˜μ •λ˜μ§€ μ•Šμ•˜λ‹€.
305
Use Proxy
μ§€μ •ν•œ λ¦¬μ†ŒμŠ€μ— μ•‘μ„ΈμŠ€ν•˜λ €λ©΄ ν”„λ‘μ‹œλ₯Ό 톡해야 ν•œλ‹€.
306
Switch Proxy
μ˜ˆμ „ λ²„μ „μ—μ„œ μ‚¬μš©ν•˜λ‹€κ°€ ν˜„μž¬λŠ” μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” μƒνƒœ μ½”λ“œμž…λ‹ˆλ‹€.
307
Temporary Redirect
μž„μ‹œλ‘œ λ¦¬λ‹€μ΄λ ‰μ…˜ μš”μ²­μ΄ ν•„μš”ν•˜λ‹€.
308
Permanent Redirect
영ꡬ적으둜 λ¦¬λ‹€μ΄λ ‰μ…˜ μš”μ²­μ΄ ν•„μš”ν•˜λ‹€.

300 Multiple Choices

  • 선택 ν•­λͺ©μ΄ μ—¬λŸ¬ 개 μžˆλ‹€.
  • Multiple Choices β‡’ μš”μ²­μ— λŒ€ν•΄μ„œ λ‘˜ μ΄μƒμ˜ κ°€λŠ₯ν•œ 응닡이 μžˆμŒμ„ λ‚˜νƒ€λ‚Έλ‹€.
  • ν΄λΌμ΄μ–ΈνŠΈκ°€ λ™μ‹œμ— μ—¬λŸ¬ λ¦¬μ†ŒμŠ€λ₯Ό κ°€λ¦¬ν‚€λŠ” URL을 μš”μ²­ν•œ 경우, κ·Έ λ¦¬μ†ŒμŠ€μ˜ λͺ©λ‘κ³Ό ν•¨κ»˜ λ°˜ν™˜λœλ‹€.
  • μ–΄λ–€ μ„œλ²„κ°€ ν•˜λ‚˜μ˜ HTML λ¬Έμ„œλ₯Ό μ˜μ–΄μ™€ ν”„λž‘μŠ€μ–΄ λͺ¨λ‘λ‘œ μ œκ³΅ν•˜λŠ” 경우 등에 μ‚¬μš©ν•  수 μžˆλ‹€.
  • 응닡 쀑 ν•˜λ‚˜λ₯Ό μ„ νƒν•˜λŠ” ν‘œμ€€ν™”λœ 방법이 μ—†κΈ° λ•Œλ¬Έμ—, 이 응닡 μ½”λ“œλŠ” 싀무에선 거의 μ‚¬μš©λ˜μ§€ μ•ŠλŠ”λ‹€.
Β 

301 Moved Permanently

  • μ§€μ •ν•œ λ¦¬μ†ŒμŠ€κ°€ μƒˆλ‘œμš΄ URI둜 μ΄λ™ν•˜μ˜€λ‹€.
  • Moved Permanently β‡’ 영ꡬ적으둜 이동 (영ꡬ λ¦¬λ‹€μ΄λ ‰μ…˜)
  • μš”μ²­λœ λ¦¬μ†ŒμŠ€κ°€ Location 헀더가 μ§€μ •ν•œ URL둜 μ΄λ™λ˜μ—ˆμŒμ„ λ‚˜νƒ€λ‚Έλ‹€.
  • ν•΄λ‹Ή URL둜 λ¦¬λ‹€μ΄λ ‰μ…˜ 되면, μš”μ²­ λ©”μ„œλ“œκ°€ GET으둜 λ³€ν•˜κ³  본문이 제거될수 μžˆλ‹€.
  • 301 μ½”λ“œλŠ” GETΒ λ˜λŠ”Β HEAD 방법에 λŒ€ν•œ μ‘λ‹΅μœΌλ‘œλ§Œ μ‚¬μš©ν•˜κ³ , λŒ€μ‹  POST, PUT 같은 κ²½μš°λŠ” 같은 영ꡬ λ¦¬λ””λ ‰μ…˜μΈ 308 Permanent Redirect 을 μ‚¬μš©ν•˜λŠ” 것이 μ’‹λ‹€.
Β 

302 Found

  • μš”μ²­ν•œ λ¦¬μ†ŒμŠ€λ₯Ό λ‹€λ₯Έ URIμ—μ„œ μ°Ύμ•˜λ‹€.
  • Found β‡’ λ‹€λ₯Έ URLμ—μ„œ λ¦¬μ†ŒμŠ€λ₯Ό 찾음 (μΌμ‹œ λ¦¬λ‹€μ΄λ ‰μ…˜)
  • μš”μ²­λœ λ¦¬μ†ŒμŠ€κ°€ Location 헀더가 μ§€μ •ν•œ URLλ‘œμΌμ‹œμ μœΌλ‘œ μ΄λ™λ˜μ—ˆμŒμ„ λ‚˜νƒ€λ‚Έλ‹€. (말이 μΌμ‹œμ΄μ§€ μƒˆ URL둜 λ¦¬λ‹€μ΄λ ‰νŠΈ λ˜λŠ”κ±΄ κ°™μŒ)
  • 302λŠ” λ¦¬λ‹€μ΄λ ‰νŠΈ μ‹œ 301κ³Ό 같이 μš”μ²­ λ©”μ„œλ“œκ°€ GET으둜 λ³€ν•˜κ³  본문이 제거 λ μˆ˜μžˆμ§€λ§Œ, 무쑰건적으둜 λ³€κ²½ν•˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ— λΈŒλΌμš°μ €μ— 따라 μž‘μ—… μˆ˜ν–‰μ΄ λ‹¬λΌμ§€λŠ” λΆˆν™•μ‹€μ„±μ„ κ°€μ§ˆ 수 μžˆλ‹€λŠ” νŠΉμ§•μ΄ μžˆλ‹€.
  • μ΄λŸ¬ν•œ λΆˆν™•μ‹€μ„± λ•Œλ¬Έμ— 303, 307 μƒνƒœ μ½”λ“œκ°€ μΆ”κ°€λ˜μ—ˆλ‹€. κ·Έλž˜μ„œ 만일 μ‚¬μš©λœ λ©”μ„œλ“œλ₯ΌΒ GET둜 λ³€κ²½ν•˜λ €λŠ” 경우 λŒ€μ‹ Β 303 See Otherλ₯Ό μ‚¬μš©ν•˜λŠ”κ²Œ μ’‹λ‹€.
Β 

303 See Other

  • λ‹€λ₯Έ μœ„μΉ˜λ‘œ μš”μ²­ν•˜λΌ.
  • See Other β‡’ λ‹€λ₯Έ URLμ—μ„œ λ¦¬μ†ŒμŠ€λ₯Ό 찾음 (μΌμ‹œ λ¦¬λ‹€μ΄λ ‰μ…˜)
  • 302 Found κ³Ό κΈ°λŠ₯은 λ™μΌν•˜κ²Œ μΌμ‹œΒ λ¦¬λ‹€μ΄λ ‰νŠΈ μ‹œ μš”μ²­ λ©”μ„œλ“œκ°€ GET으둜 κ³ μ •λ˜κ³  본문을 μ œκ±°ν•œλ‹€.
  • 302 Found 와 λ‹€λ₯΄κ²Œ μš”μ²­ λ©”μ„œλ“œμ˜ λ³€κ²½κ³Ό λ³Έλ¬Έ 제거 ν–‰μœ„λ₯Ό 무쑰건적으둜 보μž₯ν•œλ‹€.
  • ν΄λΌμ΄μ–ΈνŠΈκ°€ μš”μ²­ν•œ λ¦¬μ†ŒμŠ€λ₯Ό λ‹€λ₯Έ URIμ—μ„œ GET μš”μ²­μ„ 톡해 μ–»μ–΄μ•Ό ν•  λ•Œ, μ„œλ²„κ°€ ν΄λΌμ΄μ–ΈνŠΈλ‘œ λ³΄λ‚΄λŠ” μ‘λ‹΅μœΌλ‘œ μ΄μš©λœλ‹€.
  • 보톡 PUT λ˜λŠ” POST의 κ²°κ³Όλ‘œμ„œΒ μš”μ²­μ— λŒ€ν•œ μ‘λ‹΅μœΌλ‘œ ν΄λΌμ—κ²Œλ¦¬μ†ŒμŠ€μ˜ μœ„μΉ˜λ₯Ό μ•Œλ €μ£ΌλŠ” μš©λ„λ‘œ 쓰인닀.
Β 

304 Not Modified

  • λ§ˆμ§€λ§‰ μš”μ²­ 이후 μš”μ²­ν•œ νŽ˜μ΄μ§€λŠ” μˆ˜μ •λ˜μ§€ μ•Šμ•˜λ‹€.
  • Not Modified β‡’ μˆ˜μ •λ˜μ§€ μ•Šμ€ μ΅œμ‹  λ¦¬μ†ŒμŠ€μ΄λ‹ˆ μΊμ‹œ μ΄μš©ν•˜λΌ
  • λ¦¬μ†ŒμŠ€ 볡사본 μƒνƒœκ°€ μˆ˜μ • λ˜μ§€ μ•Šμ•„ μ΅œμ‹  μƒνƒœμ΄λ―€λ‘œ μΊμ‹œλ₯Ό μ΄μš©ν•˜λΌλŠ” 특수 λ¦¬λ‹€μ΄λ ‰μ…˜
  • μ¦‰ν΄λΌμ΄μ–ΈνŠΈκ°€ λ¦¬μ†ŒμŠ€λ₯Ό μš”μ²­ν–ˆλŠ”λ° μ„œλ²„λ‘œλΆ€ν„° 304 응닡이 였면, ν΄λΌμ΄μ–ΈνŠΈκ°€ μš”μ²­ν•œ λ¦¬μ†ŒμŠ€κ°€ μˆ˜μ •λ˜μ§€ μ•Šμ€ μ΅œμ‹  μƒνƒœμ΄λ‹ˆ, μΊμ‹œμ— 가지고 μžˆλŠ” λ¦¬μ†ŒμŠ€λ₯Ό κ·ΈλŒ€λ‘œ μ‚¬μš©ν•΄λ„ λœλ‹€λŠ” 의미λ₯Ό 가진닀. λ”°λΌμ„œ ν΄λΌμ΄μ–ΈνŠΈλŠ” μΊμ‹œμ—μ„œ λ¦¬μ†ŒμŠ€λ₯Ό μž¬μ‚¬μš©ν•˜κ²Œ 되고 이λ₯Ό 톡해 λ„€νŠΈμ›Œν¬ νŠΈλž˜ν”½μ„ μ€„μΌμˆ˜ 있게 λœλ‹€.
  • μ£Όμ˜ν•  점은 304 응닡 λ©”μ‹œμ§€λŠ”Β Body 본문에 μ–΄λ– ν•œ 데이터도 ν¬ν•¨ν•΄μ„œλŠ” μ•ˆλœλ‹€. (ν΄λΌμ΄μ–ΈνŠΈκ°€ λ‘œμ»¬μ— μžˆλŠ” μΊμ‹œμ—μ„œ λ¦¬μ†ŒμŠ€λ₯Ό 가져와 μ‚¬μš©ν•˜μ—¬μ•Ό ν•˜κΈ° λ•Œλ¬Έ)
  • 304 응닡 μ½”λ“œλ₯Ό λ°˜ν™˜λ°›κΈ° μœ„ν•΄μ„ , ν΄λΌμ΄μ–ΈνŠΈλŠ”If-Modified-Since ν—€λ”Β ν˜Ήμ€If-None-Match 헀더λ₯Ό ν¬ν•¨ν•œ 쑰건뢀 μš”μ²­μ„ 전솑해야 ν•œλ‹€.
  • 304 응닡은 GET κ³Ό HEAD λ©”μ†Œλ“œμ—λ§Œ λ™μž‘ν•œλ‹€.
Β 

305 Use Proxy

  • μ§€μ •ν•œ λ¦¬μ†ŒμŠ€μ— μ•‘μ„ΈμŠ€ν•˜λ €λ©΄ ν”„λ‘μ‹œλ₯Ό 톡해야 ν•œλ‹€.
  • Use Proxy β‡’ λ¦¬μ†ŒμŠ€κ°€ ν”„λ‘μ‹œλ₯Ό ν†΅ν•΄μ„œλ§Œ μ•‘μ„ΈμŠ€λ  수 μžˆμŒμ„ ν‘œν˜„
  • μš”μ²­ν•œ 응닡은 λ°˜λ“œμ‹œ ν”„λ‘μ‹œλ₯Ό ν†΅ν•΄μ„œ 접속해야 ν•˜λŠ” 것을 μ•Œλ €μ€€λ‹€.
  • λ³΄μ•ˆ 문제둜 인해 더 이상 μ‚¬μš©λ˜μ§€ μ•ŠλŠ” HTTP μƒνƒœ μ½”λ“œ
Β 

306 Switch Proxy

  • μ˜ˆμ „ λ²„μ „μ—μ„œ μ‚¬μš©ν•˜λ‹€κ°€ ν˜„μž¬λŠ” μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” μƒνƒœ μ½”λ“œμž…λ‹ˆλ‹€.
  • Switch Proxy β‡’ ν΄λΌμ΄μ–ΈνŠΈκ°€ λŒ€μ²΄ ν”„λ‘μ‹œλ₯Ό μ‚¬μš©ν•˜λ„λ‘ λ¦¬λ‹€μ΄λ ‰μ…˜(switch) μ‹œν‚¨λ‹€.
  • 이 응닡 μ½”λ“œλŠ” 더이상 μ‚¬μš©λ˜μ§€ μ•ŠμœΌλ©°, ν˜„μž¬λŠ” λ―Έλž˜μ— μ‚¬μš©μ„ μœ„ν•΄ μ˜ˆμ•½λ˜μ–΄ μžˆλ‹€.
Β 

307 Temporary Redirect

  • μž„μ‹œλ‘œ λ¦¬λ‹€μ΄λ ‰μ…˜ μš”μ²­μ΄ ν•„μš”ν•˜λ‹€.
  • Temporary Redirect β‡’ μΌμ‹œ λ¦¬λ‹€μ΄λ ‰μ…˜
  • 302 Found κ³Ό κΈ°λŠ₯은 λ™μΌν•˜μ§€λ§Œ, μΌμ‹œ λ¦¬λ‹€μ΄λ ‰νŠΈ μ‹œ μš”μ²­ λ©”μ„œλ“œμ™€ 본문을 μœ μ§€ν•œλ‹€.
  • 즉, ν΄λΌμ΄μ–ΈνŠΈκ°€ μ²˜μŒμ—Β POSTΒ λ©”μ„œλ“œμ™€ ν•¨κ»˜ 생성할 λ¦¬μ†ŒμŠ€ 정보λ₯ΌΒ Body 에 λ‹΄μ•„ μ „μ†‘ν•˜μ˜€λ‹€λ©΄, μƒˆλ‘œμš΄Β URL 둜 λ¦¬λ‹€μ΄λ ‰νŠΈν•˜λ”λΌλ„ κ·Έ λ©”μ„œλ“œμ™€Β BodyΒ λ‚΄μš©μ΄ μœ μ§€λ˜λŠ” 것이닀.
  • λ‹€λ§Œ 첫 μš”μ²­μ— POSTκ°€ μ‚¬μš©λ˜μ—ˆλ‹€λ©΄, λ‘λ²ˆμ§Έ μš”μ²­λ„ λ°˜λ“œμ‹œ POSTλ₯Ό μ‚¬μš©ν•΄μ•Ό ν•œλ‹€.
  • ν΄λΌμ΄μ–ΈνŠΈκ°€ μš”μ²­ν•œ λ¦¬μ†ŒμŠ€κ°€ λ‹€λ₯Έ URI에 있으며, 이전 μš”μ²­κ³Ό λ™μΌν•œ λ©”μ†Œλ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ μš”μ²­ν•΄μ•Ό ν•  λ•Œ μ‘λ‹΅μœΌλ‘œ μ΄μš©λœλ‹€.
Β 

308 Permanent Redirect

  • 영ꡬ적으둜 λ¦¬λ‹€μ΄λ ‰μ…˜ μš”μ²­μ΄ ν•„μš”ν•˜λ‹€.
  • Permanent Redirect β‡’ 영ꡬ λ¦¬λ‹€μ΄λ ‰μ…˜
  • 301 Moved Permanentlyκ³Ό κΈ°λŠ₯은 λ™μΌν•˜μ§€λ§Œ, μ˜κ΅¬Β λ¦¬λ‹€μ΄λ ‰νŠΈ μ‹œ μš”μ²­ λ©”μ„œλ“œμ™€ 본문을 μœ μ§€ν•œλ‹€.
  • 즉, ν΄λΌμ΄μ–ΈνŠΈκ°€ μ²˜μŒμ—Β POSTΒ λ©”μ„œλ“œμ™€ ν•¨κ»˜ 생성할 λ¦¬μ†ŒμŠ€ 정보λ₯ΌΒ Body 에 λ‹΄μ•„ μ „μ†‘ν•˜μ˜€λ‹€λ©΄, μƒˆλ‘œμš΄Β URL 둜 λ¦¬λ‹€μ΄λ ‰νŠΈν•˜λ”λΌλ„ κ·Έ λ©”μ„œλ“œμ™€Β BodyΒ λ‚΄μš©μ΄ μœ μ§€λ˜λŠ” 것이닀.
  • λ‹€λ§Œ 첫 μš”μ²­μ— POSTκ°€ μ‚¬μš©λ˜μ—ˆλ‹€λ©΄, λ‘λ²ˆμ§Έ μš”μ²­λ„ λ°˜λ“œμ‹œ POSTλ₯Ό μ‚¬μš©ν•΄μ•Ό ν•œλ‹€.
  • ν΄λΌμ΄μ–ΈνŠΈκ°€ μš”μ²­ν•œ λ¦¬μ†ŒμŠ€κ°€ λ‹€λ₯Έ URI에 있으며, 이전 μš”μ²­κ³Ό λ™μΌν•œ λ©”μ†Œλ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ μš”μ²­ν•΄μ•Ό ν•  λ•Œ μ‘λ‹΅μœΌλ‘œ μ΄μš©λœλ‹€.