R136A1
http redirect ์กฐ์ฌ ๋ณธ๋ฌธ
(kor) https://developer.mozilla.org/ko/docs/Web/HTTP/Redirections
(eng) https://developer.mozilla.org/en-US/docs/Web/HTTP/Redirections
URL redirection
URL forwarding
์ค์ Resource OR Form OR ์ ์ฒด ์น ์ดํ๋ฆฌ์ผ์ด์ ์ด ๋ค๋ฅธ URL์ ์์นํ๊ณ ์๋ ์ํ์์ link๋ฅผ ์กด์์ํค๋ ๊ธฐ์
๋ชฉํ
1. ์ฌ์ดํธ ์ ์ง๊ด๋ฆฌ๊ฐ ์งํ ์ค์ธ ์ํ์์์ ์ผ์์ ์ธ Redirection
2. ์ฌ์ดํธ ์ํคํ ์ณ์ ๋ณ๊ฒฝ ์ดํ์๋ ์ธ๋ถ ๋งํฌ๋ฅผ ๋์ํ๋ ์ํ๋ก ์ ์ง์ํค๊ธฐ ์ํ ์๊ตฌ์ Redirection
3. ํ์ผ ์ ๋ก๋ ์ ์งํ ์ํ ํ์ด์ง
4. ๊ทธ ์ธ...
์์น
Request์ ๋ํด ํน๋ณํ Response๋ฅผ ์ ์กํจ์ผ๋ก์จ ์ด๋ฐ
HTTP Redirect = 3xx ์ํ ์ฝ๋๋ฅผ ์ง๋ Response
์ด๋ฅผ ์์ ํ ๋ธ๋ผ์ฐ์ ๋ ์ ๊ณต๋ ์๋ก์ด URL์ ์ฌ์ฉํ์ฌ ์ฆ์ ์๋กญ๊ฒ load
๋๋ถ๋ถ์ ๊ฒฝ์ฐ ์ฌ์ฉ์์๊ฒ ๋ณด์ด์ง ์๊ณ ์ ์ ์ฑ๋ฅ ์ ํ๋ฅผ ์ผ์ผํด
[HTTP ์๋ต ์ํ ์ฝ๋ 302 + ์๋ต ๋ฉ์์ง ํค๋ Location: Redirect ๋์ด์ผ ํ ์ฃผ์] ๋ฅผ Return ํจ
์น ํด๋ผ์ด์ธํธ: HTTP ์๋ต ๋ฉ์์ง์ ์ํ ์ฝ๋๋ฅผ ๋ณด๊ณ Redirect ์ธ์ง → Location์ ์ค์ ๋์ด ์๋ URL๋ก ์ฌ์์ฒญ
(๋ธ๋ผ์ฐ์ ๋ฑ...)
์ ํ
Permanent (์๊ตฌ์ )
Temporary (์ผ์์ )
(ํน์์ )
1. Permanent
์์ํ ์ง์๋จ - ์๋์ URL์ด ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ ๋๋ง, ์๋ก์ด URL์ ์ฌ์ฉํด์ผ ํ๋ ๊ฒ์ด ํ์์ธ ๊ฒฝ์ฐ
301 Moved Permanently
[Method Handling] GET ๋ฉ์๋๋ ๊ทธ๋๋ก, ๋ค๋ฅธ ๋ฉ์๋๋ GET์ผ๋ก ๋ณํ๊ฑฐ๋ ๋ณํ์ง ์์
ใด๋ฉ์๋ ๋ณ๊ฒฝ์ ํ์ง ์์์ผ ํ๋, ์ฌ์ฉ์ ์์ด์ ํธ๊ฐ ๊ทธ๋ฌํ๊ธฐ ๋๋ฌธ์ ๋งค๋ฒ ์ ๋งคํจ
[Use Case] ์น ์ฌ์ดํธ์ ์ฌ๊ตฌ์ฑ
๊ฒ์์์ง ํฌ๋กค๋ฌ๋ contents๊ฐ ์์ ํ ์๋ก์ด URL๋ก ์์ํ ์ด๋ํ๋ค๊ณ ํ๋จ
๊ณผ๊ฑฐ URL์ ํ์ด์ง ๋ญํน๊ณผ ํ๊ฐ์ ์๋ ํจ๊ป ์ด๋
308 Permanent Redirect
[Method Handling] ๋ฉ์๋์ ๋ณธ๋ฌธ ๊ทธ๋๋ก
ใดGET์ด ์๋ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ ๋์ ๋์์ ์ ๋งค๋ชจํธํจ์ ์ ๊ฑฐํ ์ ์์
[Use Case] GET์ด ์๋ ๋งํฌ, ๋์์ ์ง๋ ์น ์ฌ์ดํธ์ ์ฌ๊ตฌ์ฑ
2. Temporary
Request๋ Resource๊ฐ ํ์ค ์์น์์ ์ ๊ทผํ ์ ์๊ณ ๋ค๋ฅธ ์์น์์ ์ ๊ทผ ๊ฐ๋ฅํ ๊ฒฝ์ฐ
์ผ์์ ์ธ ์งํ์จ ํ์ด์ง๋ฅผ ํ์ํ๊ณ ์ ๋ฆฌ์์ค๋ฅผ ๋ง๋ค๊ณ ๊ฐฑ์ ํ๋ฉฐ ์ญ์ ๋ ๋ ์ฌ์ฉ (?)
302 Found
[Method Handling] GET ๋ฉ์๋๋ ๊ทธ๋๋ก, ๋ค๋ฅธ ๋ฉ์๋๋ GET์ผ๋ก ๋ณํ๊ฑฐ๋ ๋ณํ์ง ์์
[Use Case] ์น ํ์ด์ง๊ฐ ์์ธกํ์ง ๋ชปํ ์ด์ ๋ก ์ผ์์ ์ผ๋ก ์ด์ฉ ๋ถ๊ฐ๋ฅํ ๋ (๊ฒ์ ์์ง์ด ๊ฐฑ์ X)
๊ฒ์์์ง ํฌ๋กค๋ฌ๋ ์ด๋์ด ์์์ ์ด๋ผ๊ณ ํ๋จ, ๊ณผ๊ฑฐ URL์ ํ์ด์ง ๋ญํน๊ณผ ํ๊ฐ์ ์ ๊ทธ๋๋ก ์ ์ง
contents๋ง ์๋ก์ด URL์์ ์กฐํ๋๋๋ก ํจ
ex) ์ผํ๋ชฐ์์ ์ผ์ํ์
303 See Other
[Method Handling] GET ๋ฉ์๋๋ ๊ทธ๋๋ก, ๋ค๋ฅธ ๋ฉ์๋๋ GET์ผ๋ก ๋ณํ๊ฑฐ๋ ๋ณํ์ง ์์
[Use Case] ๋์์ ๋ค์ ์ด๋ฐ์ํค๋ page refresh๋ฅผ ๋ง๊ธฐ ์ํด PUT ๋๋ POST์ ์ฌ์ฉ๋จ
307 Temporary Redirect
[Method Handling] ๋ฉ์๋์ ๋ณธ๋ฌธ ๊ทธ๋๋ก
[Use Case] ์น ํ์ด์ง๊ฐ ์์ธกํ์ง ๋ชปํ ์ด์ ๋ก ์ผ์์ ์ผ๋ก ์ด์ฉ ๋ถ๊ฐ๋ฅํ ๋ (๊ฒ์ ์์ง์ด ๊ฐฑ์ X)
GET์ด ์๋ ๋งํฌ/๋์์ด ์ฌ์ดํธ์์ ์ด์ฉ ๊ฐ๋ฅํ ๊ฒฝ์ฐ 302๋ณด๋ค ์ข์
3. ํน์
300 Multiple Choice
[Use Case] ์ ๋ง ํน์ํจ. ๋ณธ๋ฌธ์ HTMLํ์ด์ง ๋ด์ ์ ํ์ง๊ฐ ๋์ด๋จ. 200 OK ์ํ์ ํจ๊ป ์๋ธ๋ ์ ์์
304 Not Modified
[Use Case] Cash Refresh: ์บ์ ๊ฐ์ด ์ฌ์ ํ ์ฌ์ฉ ๊ฐ๋ฅํ ์ ๋๋ก ์ ์ ํจ์ ๊ฐ๋ฆฌํด
IANA - HTTP ์ํ ์ฝ๋ - 5๊ฐ์ ํด๋์ค๋ก ๊ตฌ๋ถ๋จ - ๋ฐฑ์ ์๋ฆฌ
1xx: Information - Request received, continuing process
2xx: Success - The action was successfully received, understood, and accepted
3xx: Redirection - Further action mush be taken in order to complete the request
4xx: Client Error - The request contains bad syntax or cannot be fufilled
5xx: Server Error - The server failed to fulfill an apparently valid request
HTTP Redirection
์์ ๊ธฐ์ฌ
HTML Redirection
<head>๋ด <meta> ์๋ฆฌ๋จผํธ์ http-equiv ์์ฑ์ผ๋ก ๊ตฌ์ฑ
Request๋ page๋ฅผ displayํ ๋ browser๊ฐ ์ด ์๋ฆฌ๋จผํธ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ํ์๋ ํ์ด์ง๋ก ์ด๋ํ ๊ฒ
JavaScript Redirection
window.location = "http://www.example.com/";
๋ชจ๋ ๋ฆฌ์์ค์์ ๋์ํ๋ ๊ฒ์ X
JS๋ฅผ ์คํํ Client ์์์๋ง ๋์
JS์ ํน์ฑ์ผ๋ก ์กฐ๊ฑด๋ฌธ ์ฌ์ฉ ๊ฐ๋ฅ
https://searchadvisor.naver.com/guide/seo-basic-redirect
*์ผ๋ฐ์ ์ผ๋ก ๊ฒ์์์ง ๋ก๋ด์ด ์ดํดํ๊ธฐ ์ด๋ ค์ด ํ์์ด๋ผ ์ด๋ค URL๋ก redirect๋๋์ง ํ์ ํ๊ธฐ ์ด๋ ค์
redirect ์ ๋ณด๋ฅผ ์จ๊ธฐ๋ ํํ์ ์คํธ์ฑ ๋ฌธ์ ๋ง์ด ๋ฐ๊ฒฌ ์ค → ์ข์ ํ์ด์ง๋๋ผ๋ JS ์ฌ์ฉ ์ ์ ํ๊ฐ
๋ค์ด๋ฒ ๊ฒ์ ๋ก๋ด์ HTTP html refresh ์ธ์ํ์ง๋ง HTML 4.01 ํ์ค์์๋ ์ด๊ฒ๋ ์ฌ์ฉํ์ง ์๋๋ก ๊ถ์ฅ
์ฐ์ ์์
HTTP > HTML > JS
Use case
1. domain aliasing ๋๋ฉ์ธ ์จ๋ฆฌ์ด์ฑ
ํ๋์ ๋ฆฌ์์ค์ ๋ํ ๋์ฒด ์ด๋ฆ
- ์ฌ์ดํธ ๋ฒ์ ํ์ฅ(www.example.com -> example.com)
- ๋ค๋ฅธ ๋๋ฉ์ธ์ผ๋ก ์ด๋ (ํ์ฌ ์ด๋ฆ ๋ณ๊ฒฝ ์ ์ด์ ์ด๋ฆ์ผ๋ก ๊ฒ์๋๋ ๊ฒฝ์ฐ, ์๋ก์ด ์ฌ์ดํธ๋ฅผ ์ด์ฉํ๋๋ก)
- HTTPS ๊ฐ์ (http:// -> https://)
2. link ์ ์ง
3. ์์ ํ์ง ์์ ์์ฒญ์ ๋ํ ์ผ์์ ์ธ ์๋ต
4. ๊ธด ์์ฒญ์ ๋ํ ์ผ์์ ์ธ ์๋ต
์๋ฒ ๋ด Redirect
Apache, Nginx, IIS
์ ์ฉ: ๋์ ํ์ด์ง ๋ญํฌ๋ฅผ ๊ฐ์ง URL์ ๊ตฌ์ ํ์ฌ contents๋ง ๊ด๊ณ ํ์ด์ง๋ก ์ด๋์ํด
Google์ 302๋ฅผ ์์ฃผ ์ฌ์ฉํ๊ฑฐ๋ ๋ถ์ ์ ํ๊ฒ ์ฌ์ฉํ ๊ฒฝ์ฐ ์ฌ์ดํธ๋ญํฌ์ ๋ง์ ํจ๋ํฐ ๋ถ์ฌ
'PROJECT > ๐งก์น' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํน์ค(Hoax) ๋ฉ์ผ์ด๋ (0) | 2022.03.01 |
---|---|
์ค๋ฏธ์ฑ ๋ ผ๋ฌธ ๋ฆฌ๋ทฐ (0) | 2021.07.10 |
๋ชจ๋ ์กฐ์ฌ (0) | 2021.05.20 |
scant3r/xss (0) | 2021.05.04 |
scant3r/main (0) | 2021.05.04 |