๐ 301 vs 302 ์ํ ์ฝ๋ ์ฐจ์ด์ (SEO)
301 vs 302 Redirection
๋ฆฌ๋ค์ด๋ ์ (Redirection)์ ๋ณดํต ์น์ฌ์ดํธ๋ฅผ ์๋ก์ด ๋๋ฉ์ธ์ผ๋ก ์ฎ๊ฒผ๊ฑฐ๋ ํ์ด์ง์ ์ฃผ์๊ฐ ๋ฐ๋์์๋, ์ด์ฉ์๋ค์ ํ์ฌ๊ธ ๋ณ๊ฒฝ๋ ์ฃผ์๋ก ์๋์ผ๋ก ์ฎ๊ฒจ๊ฐ๊ฒ ๋ง๋๋๋ฐ ์ฌ์ฉ๋๋ค. HTTP ํ๋กํ ์ฝ์์๋ ๋ฆฌ๋ค์ด๋ ์ HTTP ์ํ์ฝ๋์ธ 301 ๊ณผ 302 ๋ฅผ ํตํด, ํด๋ผ์ด์ธํธ๋ฅผ ์ง์ ๋ URL๋ก ๋ณด๋ด๋๋ก ํ ์๊ฐ ์๋ค.
์ด์ค. 301 ๋ฆฌ๋ค์ด๋ ์ ์ ์๊ตฌ(permanent) ๋ฆฌ๋ค์ด๋ ์ ์ด๋ผ๊ณ ๋ถ๋ฅด๋ฉฐ, 302 ๋ฆฌ๋ค์ด๋ ์ ์ ์ผ์(temporarily) ๋ฆฌ๋ค์ด๋ ์ ์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค.
๋ฌธ์ ๋ ์ด ๋์ ์ฐจ์ด์ ์ด ์ ๋งคํ๋ค๋ ๊ฒ์ด๋ค.
์๋ํ๋ฉด ์ค์ ๋ก ๋์ด ๋์ ํํ๋ฅผ ๋ธ๋ผ์ฐ์ ๋ก ํ์ธํด๋ณด๋ฉด, ๋๋ค ์๋์ผ๋ก ๋ฆฌ๋ค์ด๋ ์ ํ๋ ๊ฒ์ ๋๊ฐ์ผ๋ ์ฌ๋์ ์ก์์ผ๋ก๋ ์ด ๋์ ์ฐจ์ด๋ฅผ ๊ตฌ๋ณํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
๊ทธ๋ผ ๋ฆฌ๋ค์ด๋ ์ ์ด๋ฉด ๋ฆฌ๋ค์ด๋ ์ ์ด์ง ์ 301, 302๋ก ๊ตฌ๋ถ์ง์ด '์๊ตฌ' ์ '์ผ์' ๊ฐ๋ ์ ์ฌ์ฉํ๋ ๊ฒ์ผ๊น?
1. ๊ฒ์ ์์ง ํฌ๋กค๋ง & SEO
์ฌ์ค ์ด ๋์ ๊ตฌ๋ณํ๋ ์ฃผ์ฒด ๋์์ ์ฌ๋์ด ์๋ ๊ฒ์ ์์ง, ๊ฒ์ ๋ด์ด๋ค.
์ฆ, ์ด๋ค ๋ฆฌ๋ค์ด๋ ์ ์ ์ฐ๋๋์ ๋ฐ๋ผ ๊ฒ์ ์์ง์ด ํฌ๋กค๋ง ํ๋ ํ์ด์ง์ ๋ํด ํ์ด์ง ์์งํ๋ ์ฃผ์ฒด๊ฐ ๋ฌ๋ผ์ง๋๋ฐ, ์ด๋ฌํ ํน์ง ๋๋ฌธ์ ๊ฒ์์์ง ์ต์ ํ๋ SEO์ ์ํฅ์ ๋ฏธ์น๊ฒ ๋๋ค. ๋ง์ผ ๋ฆฌ๋ค์ด๋ ์ ์ ๊ตฌ๋ถ์น ์๊ณ ๋ถ์ ์ ํ๊ฒ ์ฌ์ฉํ ๊ฒฝ์ฐ ์นํ์ด์ง ๋ญํฌ์ ์ํฅ์ ์ฃผ๊ฒ๋๋ฉฐ ํด๋น ๋งํฌ๊ฐ ๋ณด์ ํ๋ ๋์ ์ ์๋ฅผ ์์ ์๋ ์์ด ์ด ๋์ ๊ตฌ๋ถ์ ์ค์ํ๋ค.
301 ์๊ตฌ ๋ฆฌ๋ค์ด๋ ํธ
301 ์๊ตฌ ๋ฆฌ๋ค์ด๋ ์ ์ ๊ฒฝ์ฐ, ๋ง๊ทธ๋๋ก ์์ฒญํ ์ ๋ณด(์ฌ์ดํธ๋ ํ์ด์ง)๊ฐ ์๊ตฌ์ ์ผ๋ก ์ฎ๊ฒจ์ ธ ๋ค์๋ ๋์์ค์ง ์์ ๊ฒ์์ ๋งํด์ค๋ค.
์ด๋ง์ ์๋ก์ด URL๋ก ์์ํ(Permanently) ์ด๋๋์์ผ๋, ๊ฒ์ ์์ง์ ๊ธฐ์กด URL์ ๋ํ ์ฌ์ดํธ ๋ญํฌ์ ํ๊ฐ์ ์์ ๊ฐ์ ๋ชจ๋ SEO ๊ฐ๊ณผ ๋งํฌ ๋ฆฌ์์ค๋ฅผ New URL ๋ก ์ด์ ํ๋ฉฐ, ํ์ด์ง์ ๋ํ ์ ๋ณด๋ New URL ํ์ด์ง๋ง์ ์์งํ๊ฒ ๋๋ค.
์ฆ, www.example.com/old ์ฌ์ดํธ๋ ์๋ ์ฌ์ดํธ๋ก ์ทจ๊ธํ๋ฉฐ, old์ ์๋ ๋ชจ๋ SEO ์ ๋ณด๋ฅผ www.example.com/new ๊ฐ ์ธ๋๋ฐ์ผ๋ฉฐ, ์์ผ๋ก์ SEO ์ ๋ณด ์์ง์ new์์๋ ํ๊ฒ ๋ค๋ ๊ฒ์ด๋ค. (๋ง๊ทธ๋๋ก ์์ ํ ์ด์ฌ๋ฅผ ํ ๊ฒ์ด๋)
๋ค๋ง, New URL๋ก ์ฌ์ดํธ ์ ์๋ฅผ ์ธ๋ํ๋ ๊ณผ์ ์์ ๊ฒ์ ์์ง์ด ๋ณ๊ฒฝ ์ฌํญ์ ์ธ์ํ๋๋ฐ ์๊ฐ์ด ๊ฑธ๋ฆฌ๋ฏ๋ก ํฌํธ ์์๋ ์์ธ์ ์ ์ฌ์ ์ธ ์ํฅ์ด ์ผ์ด๋ ์๋ ์๋ค๋ ์ ์ ์ ์ํ์ฌ์ผ ํ๋ค.
๋์ ์ ์๊ตฌ ๋ฆฌ๋ค์ด๋ ํธ๋ฅผ ์ ์ฉํ๋ฉด, ํฌํธ ๊ฒ์์ ์ด์ URL์ ์์ ์ฃผ๊ณ ์ URL์ ํ์ํ๊ฒ ํด์ฃผ๋ฉฐ, ๋งํฌ ์ ํธ๋ฅผ ํตํฉํด์ฃผ๊ธฐ ๋๋ฌธ์ ์ด์ URL์ ๋ฐฑ๋งํฌ๋ค์ ์ URL๋ฅผ ์ง์ ๊ฐ๋ฆฌํค๋ ๊ฒ์ฒ๋ผ ํตํฉ์์ผ ์ค๋ค.
302 ์ผ์ ๋ฆฌ๋ค์ด๋ ํธ
302 ์ผ์ ๋ฆฌ๋ค์ด๋ ์ ์ ๊ฒฝ์ฐ, ๋ง๊ทธ๋๋ก ์์ฒญํ ์ ๋ณด(์ฌ์ดํธ๋ ํ์ด์ง)๊ฐ ์ผ์(์์)์ ์ผ๋ก ์ฎ๊ฒผ๋ค๋ ๊ฒ์ ๋งํด์ค๋ค. ์ฆ, ์ธ์ ๋ ์ง ์ด์ URL๋ก ๋ค์ ๋์์ฌ์ ์๋ค๋ ๋ง์ด๋ค.
301๊ณผ ๋์กฐ์ ์ผ๋ก 302๋ ์ผ์์ ์ผ๋ก(Temporarily) ์๋ก์ด URL๋ก ์ด๋ํ์์ ๋ํ๋ด๊ธฐ ๋๋ฌธ์, ๊ทธ๋์ ๊ฒ์ ์์ง์ ์ฌ์ดํธ ๋ญํฌ์ ํ๊ฐ์ ์์ ๊ฐ์ ๋ชจ๋ SEO ๊ฐ๊ณผ ๋งํฌ ๋ฆฌ์์ค๋ฅผ ์ฎ๊ธฐ์ง ์๊ณ ์ ์งํ๋ฉฐ, ์ปจํ ์ธ ๋ง New URL์์ ์กฐํํ๋๋ก ํ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฆฌ๋ค์ด๋ ํธ ํ์์๋ ์ฌ์ ํ Old URL ํ์ด์ง์ ๋ํ ์ ๋ณด๋ฅผ ์์งํ๋ค.
๋ฐ๋ผ์ 302 ์์ ๋ฆฌ๋ค์ด๋ ํธ๋ ๊ธฐ์กด URL ์ฌ์ดํธ๋ญํฌ๋ ์ ์๋ ์ ์งํ๋ฉด์ ์๋ก์ด ์ปจํ ์ธ URL์ ์กฐํํ๊ฒ ํ ๋ ์ ์ฉํ๋ค. ์ฌ์ฉ์๋ ์๋์ผ๋ก ์ฎ๊ฒจ๊ฐ๊ฒ ๋์ง๋ง, ํฌ๋กค๋ฌ๋ ์ฌ์ดํธ๊ฐ ์ฎ๊ฒจ๊ฐ๋ค๋ ๊ฒ์ ๊ฐ์งํ๋๋ผ๋ ์ผ์์ ์ผ๋ก๋ง ์ฎ๊ฒจ๊ฐ ๊ฒ์ผ๋ก ๊ฐ์ฃผํ๊ธฐ ๋๋ฌธ์ ๊ฒ์๊ฒฐ๊ณผ์ ์๋ฌด๋ฐ ๋ณํ๋ฅผ ์ฃผ์ง ์๊ธฐ ๋๋ฌธ์ด๋ค.
๊ทธ๋์ 301๊ณผ๋ ๋ฌ๋ฆฌ ๊ฒ์ ํฌํธ์ ๋ฑ๋ก๋ ๋งํฌ๋ฅผ ๊ฐฑ์ ์ํค์ง ์๋๋ค. www.example.com/old ์์ www.example.com/old ๋ก ๋ฆฌ๋ค์ด๋ ํธ ํ์๋๋ผ๋ 302๋ฉด Old URL์ ๊ทธ๋๋ก ๋๋ ๊ฒ์ด๋ค.
302 ์ผ์ ๋ฆฌ๋ค์ด๋ ํธ ์ฃผ์์
๋ด ์๋น์ค์ 302 ์ผ์ ๋ฆฌ๋ค์ด๋ ํธ๋ฅผ ์ ์ฉํ๋ ค๊ณ ํ ๋ ์ฃผ์ํด์ผ ํ ์ ์ด ๋ช๊ฐ์ง ์๋ค.
์ฐ์ ์ฒซ๋ฒ์งธ๋ ์ฌ์ดํธ๋ฅผ ์๊ตฌ์ ์ผ๋ก ๋ฆฌ๋ค์ด๋ ์ ํ๊ธฐ ์ํด 302๋ฅผ ์ ํํ๋ ๊ฒฝ์ฐ์ด๋ค. ๊ทธ๋ฌ๋ฉด ์ฌ์ดํธ ์ ์๋ SEO ์ ์๋ฅผ ์ด์ ์ํค์ง ์๊ธฐ ๋๋ฌธ์ ์ฌ์ดํธ ์ด์ ์ด ์ ๋๋ก ์ด๋ฃจ์ด์ง๋ฆฌ๊ฐ ์๋ค. ๋ฐ๋ผ์ ๋ฆฌ๋ค์ด๋ ์ ์ด ์๊ตฌ์ ์ด์ง ์๊ณ ์ฝํ ์ธ ๋ฅผ ์๋ URL๋ก ๋๋๋ฆด ์ ์๋ ๊ฒฝ์ฐ์๋ง 302 ๋ฆฌ๋๋ ์ ์ ์ฌ์ฉํด์ผ ํ๋ค.
๋๋ฒ์งธ๋ 302 ๋ฆฌ๋ค์ด๋ ์ ์ ๋ถ์ ์ ํ๊ฒ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์ด๋ค. ์๋ฅผ๋ค์ด ๊ฒ์ ํฌํธ์ ๋์ ํ์ด์ง ๋ญํฌ๋ฅผ ๊ฐ์ง URL์ ๊ตฌ์ ํด์ ์ฌ์ฉ์๊ฐ ์ ์ํ๋ฉด ๊ฐ์ ๋ก ๊ด๊ณ ํ์ด์ง๋ก ์ด๋์ํค๋ ๋ถ์ ์ ํ ์ฌ๋ก๋ฅผ ๋ค ์ ์๋ค. ์ฒ์๋ถํฐ ๋ง์ผํ ํ๊ธฐ์๋ ์๊ฐ๊ณผ ๋น์ฉ์ด ๋ง์ด ๋๋ ์ผ์ข ์ ๊ผผ์๋ฅผ ๋ถ๋ฆฌ๋ ๊ฒ์ด๋ค. ๊ทธ๋์ ๊ตฌ๊ธ์ 302๋ฅผ ์์ฃผ ์ฌ์ฉํ๊ฑฐ๋ ๋ถ์ ์ ํ๊ฒ ์ฌ์ฉํ ๊ฒฝ์ฐ ์ด๋ฅผ doorway page๋ก ์ฌ๊ฒจ ๊ธฐ์กด ์ฌ์ดํธ ๋ญํฌ์ ํ๋ํฐ๋ฅผ ๋ถ๊ณผํด๋ฒ๋ฆฐ๋ค. ๋ฐ๋ผ์ ๋ถํ์ํ 302 ๋ฐฉ๋ฒ์ ํ์ด์ง ์ด๋์ ํผํด์ผ ํ๋ค.
2. ๋ธ๋ผ์ฐ์ ์บ์ฑ ์ฐจ์ด
301 ์๊ตฌ ๋ฆฌ๋ค์ด๋ ํธ
301์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ธ๋ผ์ฐ์ ๋ด์์ ์์์ ์บ์ฑ์ด ๋๋ค.
์ฆ, ์ฒ์ ๋ฆฌ๋ค์ด๋ ํธ ์์ฒญ ์ดํ์ ์์ฒญ์ ์๋ฒ์ 3XX ์๋ต์ ๊ฑฐ์น์ง ์๊ณ ๋ฐ๋ก ๋ธ๋ผ์ฐ์ ์์ ๋ฆฌ๋ค์ด๋ ์ ํด๋ฒ๋ฆฐ๋ค.
302 ์ผ์ ๋ฆฌ๋ค์ด๋ ํธ
302๋ ๋ธ๋ผ์ฐ์ ์์ ์บ์ฑ์ด ๊ฐ๋ฅํ์ง๋ง ๋์ Cache-control์ด๋ Expire ํค๋๋ฅผ ๋ช
์ํด์ฃผ์ด์ผ ํ๋ค.
๊ทธ๋์ ๋ง์ฝ ํ์์ ์ํด์ ์๋ฒ ๋ก์ง์ ๊ฑฐ์น๊ณ ๋ฆฌ๋ค์ด๋ ํธ๋ฅผ ์์ผ์ผ ํ๋ ๊ฒฝ์ฐ๋ 302๊ฐ ์ ์ ํ๋ค. (301์ ๋ธ๋ผ์ฐ์ ์ ์บ์ฑ๋๊ธฐ ๋๋ฌธ์)
301 / 302 Redirection ์๋ง๋ ์ฌ์ฉ์ฒ
์์์ ์ดํด๋ดค๋ฏ์ด, ์ฌ์ฉ์ ์ ์ฅ์์๋ ๋๋ค ๋๊ฐ์ ๋ฆฌ๋ค์ด๋ ์ ์ด์ง๋ง ๋ด๋ถ์ ์ธ SEO ์ฐจ์ด๋ ํฌ๊ธฐ ๋๋ฌธ์, ์ธ์ ์ด๋์ ์ด๋จ๋ 301 ๊ณผ 302 ๋ฆฌ๋ค์ด๋ ์ ์ ์ฌ์ฉํด์ผ ํ ์ง ์ ๋ต์ ๋ถ๋ช ์ด ์ธ์ธ ํ์์ฑ์ด ์๋ค.
301์ ์ธ์ ์จ์ผ ํ ๊น?
ํต์ฌ์ ๋ง ๊ทธ๋๋ก ์๊ตฌ์ ์ธ ์ด์ ํ์์ฑ์ด ์์๋ ์ฌ์ฉํ๋ฉด ๋๋ค.
- ์น์ฌ์ดํธ์ ๋๋ฉ์ธ์ ๋ณ๊ฒฝํ ๊ฒฝ์ฐ, ์์ ์๊ตฌ ์ด๋์ด ํ์ํ ๋
- ์น ์ฌ์ดํธ์์ ์ฌ์ฉ๋๋ URL ๊ตฌ์กฐ๋ฅผ ์๊ตฌ์ ์ผ๋ก ๋ณ๊ฒฝํ๋ ค๋ ๊ฒฝ์ฐ.
- ์ฌ์ฉํ์ง ์๋ ํ์ด์ง๋ฅผ ์ด๋์ํฌ๋
- ๋ ๊ฐ์ ์น์ฌ์ดํธ ๋๋ ํ์ด์ง๋ฅผ ๋ณํฉํ ๋
- ์ฌ๋๋ค์ด ์ฌ๋ฌ URL์ ํตํด ์ฌ์ดํธ์ ์ก์ธ์ค๋ฅผ ํ ๋
- ์น์ฌ์ดํธ๋ฅผ HTTP์์ HTTPS ๋ก ์ ํํ๋ ๊ฒฝ์ฐ
- www.example.com ๋๋ blog.example.com ๊ณผ ๊ฐ์ด ์ด๋ค ๋๋ฉ์ธ์ด ๊ธฐ๋ณธ ์ฌ์ดํธ์ธ์ง ์ค์ ํ ๋
302๋ฅผ ์ธ์ ์จ์ผ ํ ๊น?
ํต์ฌ์ ์ด์ ์ฌ์ดํธ์ ๋ํ SEO ์์์ ์ํฅ์ ์ฃผ์ง ์๊ณ ์ ํ์ด์ง๋ก ์์๋ก ์ฎ๊ธธ ํ์์ฑ์ด ์์๋ ์ฌ์ฉํ๋ฉด ๋๋ค.
- ํ์ด์ง๊ฐ ์์ ์ ๊ฒ ์ค์ผ๋ (์ผ์์ ์ธ ์์ )
- ์ด์ ์ฌ์ดํธ ๋์์ธ์์ ์ ํ์ด์ง ๋๋ ๋์์ธ์ ๋ํ ํผ๋๋ฐฑ์ ์์ฒญํ๊ณ ์ถ์๋ (A/B ํ ์คํ )
- en, ko, jp ๊ณผ ๊ฐ์ ์ธ์ด๋ฅผ ์ง์ํ๋ ํ์ด์ง๋ก ์ฎ๊ธธ๋
- ์ผํ๋ชฐ ๊ฐ์ ๊ฒฝ์ฐ ์ ํ์ด ํ์ ๋์, ๊ด๋ จ ์ ํ ์ฌ์ดํธ๋ก ์๋ดํ ๋ (๋ง์ผ ํ์ ๋ ์ ํ์ ์์ ๊ณ ๋์ฒดํ์ผ๋ก ๋ณ๊ฒฝํด๋ฒ๋ฆด ๊ฒฝ์ฐ ์ฌ์ดํธ ๋ญํน ์ ์์ ์ํฅ์ด ๊ฐ)
- ์ฃผ๋ฌธ ์๋ฃ ํ์ด์ง๋ก ๋ฆฌ๋ค์ด๋ ์ ํ ๋ (๊ฒฐ๊ตญ ์๋น์ค ์ด์ฉ์ ์ํด ์ด์ ํ์ด์ง๋ฅผ ๋ค์ ๊ฐ์ ธ์ค๊ฒ๋จ)
- ๋ชจ๋ฐ์ผ ์ฌ์ฉ์๋ฅผ ์ํด ๊ฐ์ํ๋ ๋ชจ๋ฐ์ผ ๋ฒ์ ์น์ฌ์ดํธ๋ฅผ ์ ๊ณตํ ๋
301 / 302 Redirection ๋ฐฉ๋ฒ
๋ธ๋ผ์ฐ์ ์์ ํ์ด์ง๋ฅผ ๋ฆฌ๋ค์ด๋ ํธํ๋ ๋ฐฉ๋ฒ์ ์ฌ๋ฌ๊ฐ์ง์ด๋ค.
๋ํ์ ์ผ๋ก anchor ํ๊ทธ๋ก ๋งํฌ๋ก ๋ฆฌ๋ค์ด๋ ํธํ๋ ๋ฐฉ๋ฒ๋ ์๊ณ ์๋ฐ์คํฌ๋ฆฝํธ๋ก ํ๋ ๋ฐฉ๋ฒ๋ ์๊ณ , ์๋ฒ์์ 3XX ์ํ ์ฝ๋๋ฅผ ์๋ต์์ผ ๋ธ๋ผ์ฐ์ ๋ก ํ์ฌ๊ธ ๋ฆฌ๋ค์ด๋ ํธ ํ๋ ๋ฐฉ๋ฒ๋ ์๋ค. ๋จ, ์ด๊ฑฐํ ๋ฐฉ๋ฒ์ค ์ด๋ ๋ฐฉ๋ฒ์ด ์๊ตฌ ๋ฆฌ๋ค์ด๋ ํธ์ธ์ง ์ผ์ ๋ฆฌ๋ค์ด๋ ํธ ์ธ์ง๋ ์ฐ๋ฆฌ๋ ์ง๊ธ๊น์ง ๊ตฌ๋ถํ์ง ์๊ณ ์ฌ์ฉํด์์ ๊ฒ์ด๋ค.
์๋ฒ๋จ - ์๊ตฌ / ์ผ์ ๋ฆฌ๋ค์ด๋ ํธ
์๊ตฌ ๋ฆฌ๋ค์ด๋ ํธ๋ฅผ ํ๊ธฐ ์ํด์ ์ค๋ก์ง ์๋ฒ์ฌ์ด๋ ๋ฐฉ๋ฒ์ผ๋ก ์ด๋ํ๋๋ฒ ๋ฐ์ ์๋ค. ๋ค๋ง ์คํดํ์ง ๋ง์์ผ ํ ์ ์ด ์ธ์ ๋ ์ง ์ผ์ ๋ผ๋ค์ด๋ ํธ๋ก๋ ํ ์ ์๋ค๋ ์ ์ด๋ค.
์ฆ, ์๋ฒ์์ 301 ์ํ ์ฝ๋ ์๋ต์ ํ๋ฉด ์๊ตฌ ๋ฆฌ๋ค์ด๋ ํธ๊ฐ ๋๊ณ , 302 ์ํ ์ฝ๋ ์๋ต์ ํ๋ฉด ์ผ์ ๋ฆฌ๋ค์ด๋ ํธ๊ฐ ๋๋ค.
๋ค์์ Spring ์๋ฒ์ Node.js ์๋ฒ์ ๋ํ ๋ฆฌ๋ค์ด๋ ํธ ์๋ต ์ฝ๋ ์์์ด๋ค.
// ์๊ตฌ ๋ฆฌ๋ค์ด๋ ํธ
response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
response.setHeader("Location", 'www.example.com/new');
// ์ผ์ ๋ฆฌ๋ค์ด๋ ํธ
RedirectView redirectView = new RedirectView('www.example.com/new');
redirectView.setStatusCode(HttpStatus.TEMPORARY_REDIRECT);
// ์๊ตฌ ๋ฆฌ๋ค์ด๋ ํธ
response.set('location', 'www.example.com/new');
response.status(301).send()
// ์ผ์ ๋ฆฌ๋ค์ด๋ ํธ
response.set('location', 'www.example.com/new');
response.status(302).send()
ํด๋ผ์ด์ธํธ๋จ - ์ผ์ ๋ฆฌ๋ค์ด๋ ํธ๋ง
๋ฐ๋ฉด์ ํ๋ก ํธ๋จ์์ ํ๋ ๋ชจ๋ ๋ฆฌ๋ค์ด๋ ํธ ๋ก์ง์ ์ผ์ ๋ฆฌ๋ค์ด๋ ํธ๋ก ์ฒ๋ฆฌ๋๋ค. ์ฆ, html์ ๋งํฌ ํ๊ทธ๋ meta ํ๊ทธ ๊ทธ๋ฆฌ๊ณ ์๋ฐ์คํฌ๋ฆฝํธ๋ก ๋ฆฌ๋ค์ด๋ ์ ํ๋ ๋ฐฉ๋ฒ์ ๋ชจ๋ ์ผ์ ๋ฆฌ๋ค์ด๋ ํธ ์ธ ๊ฒ์ด๋ค.
<!-- ์ผ์ ๋ฆฌ๋ค์ด๋ ํธ -->
<a href="www.example.com/new"></a>
<meta http-equiv="refresh" content="0; url=www.example.com/new"/>
// ์ผ์ ๋ฆฌ๋ค์ด๋ ํธ
window.open('www.example.com/new', '_self');
location.replace('www.example.com/new');
์ ๋ฆฌํ์๋ฉด ์๋ฒ๋จ์์๋ ์๊ตฌ, ์ผ์ ๋ฆฌ๋ค์ด๋ ํธ ๋ชจ๋ ๊ฐ๋ฅํ์ง๋ง, ํ๋ก ํธ๋จ์์๋ ์ค๋ก์ง ์ผ์ ๋ฆฌ๋ค์ด๋ ํธ๋ง ํ ์ ์๋ค๊ณ ๋ณด๋ฉด ๋๋ค.
# ์ฐธ๊ณ ์๋ฃ
https://www.seobility.net/en/wiki/HTTP_302
https://url.kr/bbs/board.php?bo_table=seo_info&wr_id=26&sca=%EC%A0%95%EB%B3%B4
https://stackoverflow.com/questions/13203572/url-shortener-301-redirection-understanding
https://endpointdigital.com.au/301-vs-302-redirects-what-they-are-when-to-use-them/