๐HTTP referer ๋?
HTTP Referer
referer๋ http ํค๋์ค ํ๋์ด๋ค.
HTTP ํ๋กํ ์ฝ์๋ referer ๋ผ๋ ํค๋๊ฐ์ด ์๋๋ฐ, ๋ธ๋ผ์ฐ์ ๊ฐ ์๋ฒ๋ก ์ด ํค๋๊ฐ์ ์ค์ ํด์ ๋ณด๋ด๊ฒ ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์๋ฒ๋ referer๋ฅผ ์ฐธ์กฐํจ์ผ๋ก์จ ํ์ฌ ํ์ ํ๋ ์นํ์ด์ง๊ฐ ์ด๋ค ์นํ์ด์ง์์ ์์ฒญ๋์๋์ง ์์ ์์ผ๋ฉฐ,
์ด๋ค ์น์ฌ์ดํธ๋ ์น์๋ฒ์์ ๋ฐฉ๋ฌธ์๊ฐ ์๋์ง๋ฅผ ํ์ ํ ์ ์๋ ๊ธฐ๋ฅ์ referer ๋ฅผ ํตํด ํ ์ ์๋ค.
์๋ฅผ๋ค์ด, http://www.test.com/1.html ์ด๋ผ๋ ์นํ์ด์ง์ ์๋ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ http://www.power.com/2.html ์ผ๋ก ์ด๋ํ์ ๋ referer๋ http://www.test.com/1.html ์ด ๋๋ค.
๊ฐ๋จํ๊ฒ ๋งํ์๋ฉด, ํค๋์ ๋ด๊ฒจ ์๋ ํ์ฌ ํ์ด์ง์ ์์ฒญํ ์ด์ ํ์ด์ง์ uri ์ ๋ณด์ ๋๋ก ๋ณด๋ฉด ๋๋ค.
HTTP ํค๋์๋ User-Agent, Host, Origin ์ฌ๋ฌ ์ ๋ณด๋ค์ด ๋ค์ด์๋๋ฐ, ์๋ฒ์์ 'ํ๋กํ ์ฝ://ํธ์คํธ:ํฌํธ/๊ฒฝ๋ก?์ฟผ๋ฆฌ์คํธ๋ง'์ผ๋ก ๋์ด์๋ ์ ์ฒด ๊ฒฝ๋ก ์ฆ, uri ์ ๋ณด๋ฅผ ์๊ณ ์ถ๋ค๋ฉด ํค๋์ Referer๋ฅผ ์ฐธ์กฐํ๋ฉด ๋๋ค๊ณ ๋ณด๋ฉด ๋๋ค.
๋๋ถ๋ถ์ ์น์๋ฒ์๋ ์ด์ (before) ํธ๋ํฝ๋ก๊ทธ๊ฐ ์กด์ฌํ๋ฉฐ, ๋ธ๋ผ์ฐ์ ๊ฐ ์ก์ ํ HTTP referer์ ๊ธฐ๋กํ๊ณ ์๋ค.
์ฐธ๊ณ ๋ก referer ์ ๋ณด๋ ์ ์ ์ ํ๋ผ์ด๋ฒ์์ ๊ด๊ณ๋๋ ๊ฒฝ์ฐ๊ฐ ์๊ธฐ ๋๋ฌธ์, referer ์ ๋ณด๋ฅผ ์ก์ ํ์ง ์๋ ์ค์ ์ ํ ์ ์๋ ๋ธ๋ผ์ฐ์ ๋ ์๊ธฐ๋ ํ๋ค. ๊ทธ๋ฌ๋ ์ฌ๋ฐ๋ฅธ referer ์ ๋ณด๋ฅผ ๋ณด๋ด์ง ์์ผ๋ฉด ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์๋ ์๋๋ฐ, ์น์๋ฒ๋ ์์ ์ ํ์ด์ง์ค ์ผ๋ถ ํ์ด์ง์ ์ฌ๋ฐ๋ฅธ referer ์ ๋ณด๋ฅผ ์ก์ ํ์ง ์๋ ๋ธ๋ผ์ฐ์ ์ ๋ํด ์์ธ์ค๋ฅผ ๋ธ๋กํด ๋ฒ๋ฆฌ๊ธฐ๋ ํ๋ค. (์ด๊ฑด ํ ์ฌ์ดํธ ์ง์ ๋งํฌ๋ ์ด๋ฏธ์ง์ ๋ถ์ ์ฌ์ฉ์ ๋ง๊ธฐ ์ํจ์ด๋ค)
Referer ์ฌ์ฉ์ฒ
์ ๋ฆฌํ์๋ฉด ๊ฒฐ๊ตญ referer์ ๊ฐ์ ์ด ํ์ด์ง๋ฅผ ์์ฒญํ ์ด์ ํ์ด์ง๊ฐ ๋ฌด์์ธ์ง๋ฅผ ์๋ ค์ฃผ๋ ์ ๋ณด์ด๋ค. ๊ทธ๋ฆฌ๊ณ ์ด referer๋ ๋ณดํต ๋ก๊ทธ ๋ถ์์ด๋ ์ ๊ทผ ์ ์ด๋ฅผ ํ ๋ ์ด์ฉํ๋ค
๋ก๊ทธ๋ถ์์ ํ ๋, ์ฐ๋ฆฌ ์ฌ์ดํธ๋ก์ ์ ์ ์ด ์ด๋ค ๊ฒ์์๋น์ค๋ฅผ ์ด์ฉํ ๊ฒ์ธ์ง ์๊ณ ์ํ ๋ ๋ฐ๋ก ์ด referer๋ฅผ ๋ถ์ํ๋ค๊ณ ๋ณด๋ฉด ๋๋ค. ์ด๊ฒ์ด ์ผ๋ฐ์ ์ธ ๋ก๊ทธ๋ถ์๊ธฐ์ด๋ค.
์ ๊ทผ์ ์ด๋ ์๊ณ ๋ณด๋ฉด ๋จ์ํ ๋ก์ง์ด๋ค.
๊ฒ์๋ฌผ์ ์ ์ฅํ ๋์๋ ๊ทธ ์ ์ ๊ฒ์๋ฌผ์ ์ฐ๋ ํ์ด์ง์์ ์ ์ฅ์ ์์ฒญํ๋ค. ๋๋ฌธ์ '์ ์ฅ' ํ์ด์ง์์ referer๊ฐ์ ์ฒดํฌํด์, '์ฐ๊ธฐ' ํ์ด์ง๊ฐ referer๊ฐ์ด ์๋๋ฉด ์์ฒญ์ ๊ฑฐ๋ถํ ์ ์๋ค. ๋ฌผ๋ก ์ด๋ฌํ ๋ฐฉ๋ฒ์ ์์ฃผ ๋จ์ํ ๋ฐฉ๋ฒ์ด๊ธฐ ๋๋ฌธ์ ์๋ฒฝํ ์ ๊ทผ์ ์ด๋ ์๋์ง๋ง, ์์์ ์ผ๋ก ์ ์ด๋ฅผ ํ ๊ฒฝ์ฐ์๋ ๊ฐ๋จํ๊ธฐ ๋๋ฌธ์ ๊ฝค ์ ์ฉํ๊ฒ ์ด์ฉ๋ ์ ๋ ์๋ค.
์ฝ๋์์ referer ๋ฐ์ดํฐ ์ป๊ธฐ
ํด๋ผ์ด์ธํธ
if (document.referrer) {
var myReferer = document.referrer;
document.write(myReferer);
}
Node.js
/* Node.js */
const { headers: { referer } } = req
console.log(referer);
PHP
if (isset ($_SERVER ['HTTP_REFERER'])) {
echo $_SERVER ['HTTP_REFERER'];
}
# ์ฐธ๊ณ ์๋ฃ
https://ogaeng.com/http-referrer/