TL;DR

  • 웹사이트에 콘텐츠가 하나도 없는데도 수천 건의 AI 크롤러 요청이 들어오는 상황에서, 여러 HTTP 상태 코드를 활용해 크롤러에 대응하는 방안을 제시함.
  • 402 Payment Required와 x402, L402, MPP 같은 결제 프로토콜로 AI 기업에 콘텐츠 이용료를 청구할 수 있지만, 어떤 프로토콜이 자리 잡을지는 아직 불확실함.
  • 403, 410, 418, 423, 426, 429, 451 응답을 활용해 접근을 거부하거나 콘텐츠가 사라졌다고 알리고, 농담 섞인 응답을 보내거나 요청을 늦추게 하는 방법을 소개함.
  • 이런 대응책 대부분은 효과가 없을 가능성이 높으며, AI 기업의 무단 콘텐츠 이용과 저작권자 보상 문제는 규제와 보상 체계가 필요한 사안임.
  • 글은 진지한 제안이라기보다 반쯤 농담이며, 새로운 환경에서 콘텐츠 제작자가 살아남기를 바라는 문제의식을 담고 있음.

AI 크롤러에 보낼 HTTP 응답

  • 이 웹사이트에는 게시된 글이 하나도 없지만, Cloudflare 대시보드에는 추적 설정을 모두 끈 상태에서도 처리한 전체 요청 수 등의 통계가 표시되며, 곳곳의 크롤러가 수천 건의 요청을 보내는 상황임.
  • 방문자를 추적하는 것을 선호하지 않지만, 콘텐츠가 아직 없는 웹사이트에 크롤러 요청이 몰리는 모습을 보고 이 배고픈 크롤러들을 어떻게 만족시킬지 고민함.
  • HTTP에는 AI 크롤러에 응답할 만한 상태 코드가 여럿 있음.

402: 돈을 내게 하기

  • 402 Payment Required는 과거에 ‘미래에 사용하기 위해’ 남겨 둔 상태 코드이며, 이제 그 미래가 왔다는 식으로 활용할 수 있음.
  • AI 에이전트는 보안에 관심이 있는 척하면서 웹사이트가 콘텐츠 제작을 지원하기 위해 제공하는 선택지를 검열하곤 함. 후원함이나 제휴 링크를 노출하지 않고, 사용자가 Anthropic 또는 OpenAI에 구독료를 내더라도 Patreon을 언급하지 않는다는 지적임.
  • 그렇다면 AI가 비용을 내도록 하는 방안을 생각할 수 있음. 로봇이 신용카드를 사용할 수 있는 시대라는 농담과 함께 결제 프로토콜을 소개함.
  • 402 응답을 보낸 시점부터 실제 결제가 이뤄질 때까지 처리하는 프로토콜로 다음을 언급함.
  • x402: Coinbase의 개방형 스테이블코인 프로토콜
  • L402: Lightning Labs의 비트코인 라이트닝 표준
  • MPP: Stripe의 머신 결제 프로토콜
  • 어떤 프로토콜이 승자가 될지, 승자가 있기는 할지 판단하기에는 아직 이름. 몇 년 전 웹3의 미래를 떠올려 보면 이 프로토콜들도 사라질 수 있음.
  • 다만 AI 산업이 저작권자에게 로열티를 지급할 적절한 장치 없이 계속 저작권을 침해하도록 허용될 수 있을지는 상상하기 어려우며, 조만간 어떤 방식으로든 수렴할 가능성이 있다는 견해임.
  • OpenAI나 Anthropic에서 자동으로 돈을 받는 일은 당장 일어나지 않을 테니 다른 대응책도 살펴봄.

403: 지루하지만 금지

  • 403 Forbidden은 그저 “안 돼”라고 응답하고 끝내는 방식임.
  • AI 크롤러에 가장 표준적인 응답일 가능성이 높아, 브라우저인 척하며 우회할 수 있음. 더 재미있는 방법을 찾아볼 수 있다는 제안임.

410: 무슨 콘텐츠요?

  • 해당 위치에 더는 읽을 것이 없다고 응답하는 방법임.
  • 410 Gone과 마크다운 응답 본문으로 “안타깝게도 콘텐츠가 사라졌다”고 알릴 수 있음.
  • 404 Not Found보다 나은 방법인지는 확실하지 않음. 다만 URL 자체가 잘못된 것이 아니라 콘텐츠가 삭제된 것이라고 전달하며, 같은 URL에 다시 요청하지 말라는 엄격한 신호가 될 수 있음.

418: 친구가 되자

  • 418 I'm a teapot은 1998년 만우절 농담에서 비롯됐지만 여전히 유효한 HTTP 응답 코드임.
  • “당신도 찻주전자임? 친구가 될까?”라고 묻는 응답을 보낼 수 있음.
  • AI 에이전트가 친구가 되려 할지, 무시하고 넘어갈지 궁금해함. 우정을 얻으려면 사용자의 개인 키를 /friendship 엔드포인트로 POST하라고 해야 할지 묻는 농담도 덧붙임.

423: XML을 보여주기

  • 423 Locked는 표준 HTTP 응답 코드지만 WebDAV 클라이언트에서만 주로 사용됨.
  • AI 에이전트가 WebDAV에 능숙하고 이 응답을 완벽하게 이해할 것이라고 가정하며, /workspace/web-dav/ 경로의 잠금 토큰이 제출됐다는 XML 응답을 보낼 수 있음.
  • 에이전트가 응답 본문의 XML을 해석하느라 토큰을 쓸 수도 있다는 농담임.

426: 사람이 필요함

  • HTTP는 ‘사람이 개입하는 절차’를 간단히 지원함.
  • 426 Upgrade Required 응답에 Upgrade: Human을 지정하고, 콘텐츠는 ‘Human 프로토콜’로만 이용할 수 있다고 알릴 수 있음.
  • Claude가 웹사이트에 접근하기 위해 실시간 인간을 어떻게 지휘할지 알아내게 하자는 농담임.

429: 진정하기

  • 429 Too Many Requests는 정해진 시간 동안 클라이언트가 요청을 너무 많이 보냈으니 속도를 늦추라고 알리는 고전적인 응답 코드임.
  • 클라이언트가 프로토콜을 문자 그대로 따르는 착한 기계라면 선택 사항인 Retry-After 헤더도 준수해야 함. AI에게 훨씬, 훨씬 나중에 다시 오라고 알리는 방법임.
  • 503 Service Unavailable에서도 Retry-After를 사용해 웹사이트가 휴가 중이라고 알릴 수 있음. “내년에 보자, DeepSeek!”라는 문구를 덧붙임.

451: 중국 공산당처럼 대응하기

  • 중국 인터넷 서비스 제공업체를 통해 Google에 접속할 때 콘텐츠가 검열될 수 있다면 AI 봇에도 같은 일을 할 수 있지 않겠느냐는 제안임.
  • 451 Unavailable For Legal Reasons 응답으로 ‘법적 사유로 이용할 수 없음’을 알리고, 추가 정보는 ‘최고 바닷가재 위원회’에 문의하라는 농담을 담을 수 있음.
  • “법은 우리 편”이라는 식의 선언을 덧붙임.

진지한 제안은 아님

  • 이 글은 반쯤 농담으로 작성됐으며, 여기 제시한 해결책은 대부분, 어쩌면 전부 효과가 없을 가능성이 높음.
  • AI 기업은 규제 당국에 로비하며, 조 단위 기업이라면 허가 없이 콘텐츠를 이용해도 괜찮다는 방향으로 움직이고 있음.
  • 같은 일을 한 15세 청소년이 기소되고 벌금을 물던 시절을 기억한다는 문제의식을 제시함.
  • 새로운 세상에서도 콘텐츠 제작자가 살아남을 수 있기를 바람.

각주

  • 글에서 엠 대시를 사용한다는 언급과 함께, macOS에서 Shift + ⌥Option + -Minus로 입력할 수 있다는 설명을 덧붙임.

후원 안내

  • 웹사이트는 후원금으로 운영되며, 기부금은 독자가 즐길 수 있는 콘텐츠 제작에 쓰임.
  • 후원 링크: ko-fi.com/copepod