์ธํŒŒ_ 2022. 1. 26. 16:08

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 ์ด ๋œ๋‹ค.

http-referer

๊ฐ„๋‹จํ•˜๊ฒŒ ๋งํ•˜์ž๋ฉด, ํ—ค๋”์— ๋‹ด๊ฒจ ์žˆ๋Š” ํ˜„์žฌ ํŽ˜์ด์ง€์— ์š”์ฒญํ•œ ์ด์ „ ํŽ˜์ด์ง€์˜ uri ์ •๋ณด์ •๋„๋กœ ๋ณด๋ฉด ๋œ๋‹ค.
HTTP ํ—ค๋”์—๋Š” User-Agent, Host, Origin ์—ฌ๋Ÿฌ ์ •๋ณด๋“ค์ด ๋“ค์–ด์žˆ๋Š”๋ฐ, ์„œ๋ฒ„์—์„œ 'ํ”„๋กœํ† ์ฝœ://ํ˜ธ์ŠคํŠธ:ํฌํŠธ/๊ฒฝ๋กœ?์ฟผ๋ฆฌ์ŠคํŠธ๋ง'์œผ๋กœ ๋˜์–ด์žˆ๋Š” ์ „์ฒด ๊ฒฝ๋กœ ์ฆ‰, uri ์ •๋ณด๋ฅผ ์•Œ๊ณ ์‹ถ๋‹ค๋ฉด ํ—ค๋”์˜ Referer๋ฅผ ์ฐธ์กฐํ•˜๋ฉด ๋œ๋‹ค๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.

http-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/