본문으로 건너뛰기
피드

쿼리 스트링 차단 선언한 개인 웹사이트 운영자의 빡침

frontend 약 3분
vote
0
댓글
북마크

한 개인 웹사이트 운영자가 자기 사이트 URL에 임의의 쿼리 스트링을 붙이는 관행을 아예 막겠다고 선언했다. 특히 ref, UTM 같은 추적 파라미터를 남의 URL에 붙이는 건 사용자와 사이트 운영자 모두에게 무례한 일이라는 주장이다.

  • 1

    임의의 쿼리 스트링, 특히 추적용 파라미터를 전면 차단하기로 함

  • 2

    현재 사이트는 쿼리 스트링을 쓰지 않으며, 앞으로 쓰더라도 허용 목록 방식으로 제한할 예정

  • 3

    구현은 Caddyfile에서 처리 중이며, 오래된 캐시 버스팅 요청은 깨져도 괜찮다고 판단함

  • 한 웹사이트 운영자가 자기 사이트에서 허가되지 않은 쿼리 스트링을 전면 차단하기로 함

    • 예를 들면 ?ref=example.com, ?utm_source=example 같은 식으로 남이 붙인 추적 파라미터가 대상임
    • 글쓴이 입장은 단순함. “내 URL에 네가 왜 추적 정보를 붙이냐”는 것
  • 특히 UTM 파라미터에 대한 반감이 강함

    • UTM은 사이트 운영자가 자기 캠페인 분석을 위해 쓰는 도구인데, 외부에서 남의 URL에 붙이는 건 선을 넘는다고 봄
    • 유입 출처가 궁금하면 HTTP의 Referer 헤더를 보면 되고, 그 값이 없다면 프라이버시나 브라우저 정책상 빠진 이유가 있을 가능성이 높다는 얘기임
  • 그래서 이 사이트는 “허가된 쿼리 스트링만 허용”하는 방식으로 갈 예정임

    • 현재는 쿼리 스트링을 전혀 쓰지 않음
    • 나중에 필요해지면 알려진 파라미터만 허용 목록에 넣는 식으로 처리할 계획
    • 예전에 스타일시트 캐시 버스팅용으로 ?t=..., ?h=... 같은 URL을 쓴 적은 있지만, 지금 와서 그런 요청이 깨져도 문제 없다고 판단함
  • 구현은 현재 Caddyfile에서 처리 중임

    • 즉 애플리케이션 레벨이 아니라 웹 서버 설정에서 잘라내는 접근임
    • 작은 개인 사이트라 가능한 강한 정책이지만, 추적 파라미터 정리에 관심 있는 팀이라면 꽤 참고할 만한 태도임

ℹ️참고

> 이 글의 핵심은 “쿼리 스트링은 나쁘다”가 아니라 “남의 URL에 추적 목적의 상태를 멋대로 추가하지 말라”에 가까움.

작은 개인 사이트 이야기처럼 보이지만, URL을 누가 통제하느냐는 꽤 근본적인 웹 문제다. 공유 링크에 추적 파라미터를 덕지덕지 붙이는 문화에 대한 짧고 날카로운 반격에 가깝다.

댓글

댓글

댓글을 불러오는 중...

frontend

개인 웹사이트에 JSON-LD 넣는 법, 검색엔진과 크롤러가 내 사이트를 제대로 읽게 만들기

개인 웹사이트에 JSON-LD 구조화 데이터를 추가해 검색엔진과 크롤러가 사이트, 사람, 글, 프로젝트를 더 정확히 이해하게 만드는 실전 가이드야. WebSite, Person, ProfilePage, BlogPosting 같은 노드를 어떻게 연결하고 어느 페이지에 넣어야 하는지 예시 중심으로 설명해.

frontend

Deno, 웹 프로젝트를 데스크톱 앱으로 묶는 `deno desktop` 공개

Deno가 TypeScript 파일 하나부터 Next.js 앱까지 데스크톱 앱으로 패키징하는 `deno desktop`을 공개했다. 아직 안정 릴리스는 아니고 Deno v2.9.0 canary에서만 쓸 수 있지만, 운영체제 WebView 기반의 작은 바이너리, 프레임워크 자동 감지, 내장 자동 업데이트까지 한 번에 노린다.

frontend

파비콘 안에 웹사이트를 숨겨 넣은 개발자, 진짜 됨

한 개발자가 웹사이트의 파비콘 이미지를 작은 저장소처럼 사용해 HTML을 픽셀 RGB 값 안에 넣고, 브라우저에서 다시 읽어 렌더링하는 실험을 했다. 208바이트짜리 HTML payload에 4바이트 길이 헤더를 붙여 총 212바이트를 만들었고, 이를 9x9 픽셀 PNG 안에 87% 사용률로 저장했다.

frontend

스크린이 절대 못 보여주는 색은 어디에 있을까

이 글은 우리가 화면에서 보는 색이 인간이 볼 수 있는 색 전체가 아니라, sRGB와 Display-P3 같은 색역 안에 갇힌 일부라는 점을 파고든다. 특히 숲, 바닷속, 새와 나비의 구조색, 생물발광, 교통신호 LED 같은 실제 세계에는 모니터와 카메라가 제대로 담지 못하는 청록색과 녹색 계열이 꽤 많다는 얘기다. 디스플레이, 카메라, 조명, 렌더링을 다루는 개발자라면 “색상값 하나”가 생각보다 물리와 표준의 타협이라는 걸 체감하게 된다.

frontend

크롬, 매니페스트 버전 2 우회로까지 닫는다

구글 크롬이 매니페스트 버전 2 확장 지원을 사실상 최종 종료 단계로 밀어넣고 있다. 기존에는 플래그나 레지스트리 설정으로 유블록 오리진 같은 확장을 살리는 우회가 있었지만, 크로미움 150과 151을 거치며 그 우회 코드까지 제거되는 흐름이다.