Front/JS & jQuery

[js] sessionStorage.setItem("document.referrer", '');

오선지♬ 2025. 5. 22. 20:08
728x90
반응형
sessionStorage.setItem("document.referrer", '');

 

  • sessionStorage에 "document.referrer" 라는 키에 빈 문자열 '' 값을 저장합니다.
  • 하지만 document.referrer는 브라우저가 제공하는 읽기 전용 속성이라서 이런 식으로 sessionStorage에 저장한다고 해도 실제 document.referrer 값을 바꾸는 효과는 없습니다.
    → 즉, 효과 없는 코드일 가능성이 높습니다.

 

 

document.referrersessionStorage.setItem("document.referrer", '') 의 차이와

"읽기 전용(read-only)" 속성에 대해 자세히 설명드리겠습니다.

 

✅ 1. document.referrer란?

document.referrer는 브라우저가 제공하는 DOM(Document Object Model) API 중 하나로,
현재 페이지가 어디서부터 왔는지 (즉, 이전 페이지의 URL이 무엇인지) 를 알려주는 읽기 전용 속성입니다.

예시:

console.log(document.referrer);
  • 만약 A 페이지에서 B 페이지로 이동했다면, B 페이지에서 위 코드를 실행하면 "http://example.com/a.html" 처럼 A 페이지 URL이 출력됩니다.
  • 브라우저가 자동으로 설정하는 값이지, 개발자가 직접 수정할 수 있는 값이 아닙니다.

✅ 2. 읽기 전용(Read-only)이란?

읽기 전용 속성이란, 값을 읽을 수는 있지만 직접 값을 바꾸거나 설정할 수 없는 속성을 말합니다.

document.referrer = "http://fake.com"; // ❌ 작동하지 않음
  • 위 코드는 아무런 효과가 없습니다. document.referrer는 브라우저가 내부적으로 정해주는 값이기 때문에, 개발자가 바꿀 수 없습니다.
  • 마치 const로 선언한 변수처럼 값을 바꾸는 것이 허용되지 않는 속성입니다.

✅ 3. sessionStorage.setItem("document.referrer", '')의 의미

이건 실제 document.referrer를 바꾸는 것이 아닙니다.

sessionStorage.setItem("document.referrer", '');
 

이 코드는:

  • "document.referrer"라는 이름을 가진 사용자 정의 키를 sessionStorage에 저장하는 것입니다.
  • 이 값은 오직 sessionStorage.getItem("document.referrer")로만 접근할 수 있고,
  • 진짜 브라우저의 document.referrer와는 아무 관련이 없습니다.

즉, 브라우저의 진짜 document.referrer 속성은 변경되지 않습니다.


✅ 요약

항목 설명
document.referrer 브라우저가 자동으로 설정한 이전 페이지의 URL을 담은 읽기 전용 속성. 개발자가 바꿀 수 없음.
sessionStorage.setItem("document.referrer", '') 단순히 "document.referrer"라는 이름의 사용자 정의 키-값 쌍을 저장한 것일 뿐, 실제 document.referrer 속성과는 무관함.
결론 위 코드는 document.referrer를 바꾸지 못하며, 저장한 값은 sessionStorage.getItem()으로만 사용 가능함.
 

 

728x90
반응형