Referrer 이란?
웹에서 돌아다닐때, 이전방문 페이지이다.
이를 활용하여 자신의 홈페이지에서 접속요청인지,
다른 검색엔진을 통해 들어오는 경우인지,
어디 페이지에서 접속하는지 추적등을 할수가 있다.
근데 referrer정보를 제한하고 싶을때 Apache,Nginx 등에서 설정도 가능하지만
간단히 html 에 meta tag만으로 제한할 수 있다.
지원 브라우저 확인하기 : https://caniuse.com/mdn-html_elements_meta_name_referrer
http referer 은 오타인 referrer을 그대로 사용중이다.
처음에 오타로 r을 뺐는데 이미 만들어진 표준을 지키기위해 http 헤더에는 r이 빠진 referer으로 사용된다.
활용 예
html페이지에서 링크를 눌러서 -> 외부로 가는 경우를 기준으로 설명한다.
이것만 조절이 가능하기 때문
Referrer 제거하기
<meta name="referrer" content="no-referrer" />
Referrer 보내기 필터링
(기본 값이다. 다만, 크롬등 일부 브라우저 예외)
<meta name="referrer" content="unsafe-url" />
아무것도 설정하지 않았을때 referer의 기본 값은 'unsafe-url' 이다.
https://hi098123.tistory.com/152 에서 https://www.google.com 으로 갈때
https://hi098123.tistory.com/152 를 google.com으로 전송한다
도메인만 전송
<meta name="referrer" content="origin" />
'origin'은 도메인만 전송한다.
https://hi098123.tistory.com/152 에서 https://www.google.com 으로 갈때
https://hi098123.tistory.com/ 를 google.com으로 전송한다
엄격 모드 (대상 주소가 https일때만 도메인 전송)
<meta name="referrer" content="strict-origin" />
'strict-origin'은 대상 주소가 https일때만 도메인만 전송한다.
https://hi098123.tistory.com/152 에서 https://www.google.com 으로 갈때
https://hi098123.tistory.com/ 를 google.com으로 전송한다
https://hi098123.tistory.com/152 에서 http://www.google.com 으로 갈때
Referrer값은 google.com으로 전송하지 않는다.
대상주소가 https일때만 전송
<meta name="referrer" content="no-referrer-when-downgrade" />
'no-referrer-when-downgrade'은 대상 주소가 https일때만 전송한다.
https://hi098123.tistory.com/152 에서 https://www.google.com 으로 갈때
https://hi098123.tistory.com/152 를 google.com으로 전송한다
https://hi098123.tistory.com/152 에서 http://www.google.com 으로 갈때
Referrer값은 google.com으로 전송하지 않는다.
같은 홈페이지일때만 전송
<meta name="referrer" content="same-origin" />
'same-origin'은 대상 주소가 같을때만 전송한다.
https://hi098123.tistory.com/152 에서 https://hi098123.tistory.com/45 으로 갈때
https://hi098123.tistory.com/152 를 hi098123.tistory.com으로 전송한다
https://hi098123.tistory.com/152 에서 https://www.google.com 으로 갈때
Referrer값은 google.com으로 전송하지 않는다.
같은 홈페이지일때는 전체주소, 다른페이지로 갈때는 도메인주소만
<meta name="referrer" content="origin-when-cross-origin" />
'origin-when-cross-origin'은 대상 주소에 따라 전송한다.
https://hi098123.tistory.com/152 에서 https://hi098123.tistory.com/45 으로 갈때
https://hi098123.tistory.com/152 를 hi098123.tistory.com으로 전송한다
https://hi098123.tistory.com/152 에서 https://www.google.com 으로 갈때
https://hi098123.tistory.com/를 google.com으로 전송한다.
같은 홈페이지일때는 전체주소, 다른https페이지로 갈때는 도메인주소만, http로 갈때는 제거
(크롬 브라우저 85버전이상 기본값)
<meta name="referrer" content="strict-origin-when-cross-origin" />
'strict-origin-when-cross-origin'은 대상 주소와 https여부에 따라 전송한다.
https://hi098123.tistory.com/152 에서 https://hi098123.tistory.com/45 으로 갈때
https://hi098123.tistory.com/152 를 hi098123.tistory.com으로 전송한다
https://hi098123.tistory.com/152 에서 https://www.google.com 으로 갈때
https://hi098123.tistory.com/를 google.com으로 전송한다.
https://hi098123.tistory.com/152 에서 http://www.google.com 으로 갈때
Referrer값은 google.com으로 전송하지 않는다.
'웹 프로그래밍 > HTML' 카테고리의 다른 글
티스토리) 댓글에 링크 달기 (3) | 2020.04.28 |
---|---|
JS) toFixed() 1.0* => 1 (소수가 0일때 없애기) (1) | 2020.02.02 |
JS) 보는데 이상이 없는데 UTF-8 처리를 못하면? (0) | 2019.12.16 |
JS window.location) hostname VS host (0) | 2019.12.06 |
Javascript) encodeURI, decodeURI, encodeURIComponent, decodeURIComponent (0) | 2019.11.14 |
티스토리) Light-TT-EX 제거하기 (4) | 2019.11.12 |
JS) Location.hash 와 URL의 #부분 처리 (0) | 2019.10.27 |
extension) tabs.getSelected VS tabs.query (0) | 2019.10.17 |
저작권 보호안내
무단 전재, 재배포 행위는 금지됩니다. (글을 복사하여 게시금지)
본문의 일부(링크용 문장) 인용은 가능하지만, 출처와 링크(a 태그)를 남기셔야 됩니다.
(웹툴을 이용하고, 스크린샷/녹화하는것은 상관없습니다.)
예외적으로. 저에게 허락받은 경우에는 본문을 전재할 수 있습니다.
만약, 본문 공유를 원하신다면 링크 공유를 해주세요
저작권 정책 확인하기링크 공유하기