웹에는 사이트마다 '정해진 자리에 놓기로 약속한' 파일들이 있습니다. 브라우저·검색봇·인증서 발급기관·운영체제가 추측하지 않고도 특정 메타데이터를 찾을 수 있도록, 호스트 루트 아래 예측 가능한 경로에 두기로 한 것입니다. 이 관례를 표준화한 것이 RFC 8615로, https://호스트/.well-known/<이름> 형태의 경로를 정의합니다. 각 이름은 IANA의 well-known URI 레지스트리에 등록됩니다.
/.well-known/ 이 필요한 이유
예를 들어 어떤 도구가 '이 사이트의 보안 연락처가 어디냐'를 알고 싶다고 합시다. 사이트마다 페이지 구조가 제각각이라면 찾을 방법이 없습니다. 그래서 '보안 연락처는 항상 /.well-known/security.txt에 둔다'고 약속하면, 어떤 사이트든 그 경로 하나만 요청하면 됩니다. /.well-known/은 이런 기계가 읽는 사이트 수준 메타데이터의 공용 우편함입니다.
GET /.well-known/security.txt HTTP/1.1
Host: example.com
HTTP/1.1 200 OK
Content-Type: text/plain
Contact: mailto:security@example.com
Expires: 2026-12-31T23:59:59.000Z
Preferred-Languages: ko, en
Policy: https://example.com/security-policy
자주 쓰이는 well-known 경로
/.well-known/security.txt(RFC 9116): 취약점 제보 창구.Contact,Expires,Policy등을 담아 보안 연구자가 어디로 신고할지 알려 줍니다./.well-known/change-password: 비밀번호 변경 페이지로 리다이렉트하는 표준 경로. 브라우저·비밀번호 관리자가 '비밀번호 바꾸기' 버튼을 이 경로로 연결합니다./.well-known/openid-configuration: OpenID Connect 제공자의 설정 문서. 인증·토큰 엔드포인트, 지원 알고리즘, JWKS 위치 등을 JSON으로 공개합니다./.well-known/acme-challenge/<token>: Let's Encrypt 같은 ACME 인증서 발급 시, 도메인 소유를 증명하려고 발급기관이 이 경로의 응답을 확인합니다./.well-known/jwks.json: JWT 서명 검증에 쓰는 공개 키 집합(JSON Web Key Set)을 게시합니다.
모바일 앱 연동 파일
모바일 운영체제도 well-known 경로로 웹과 앱을 연결합니다. iOS의 /.well-known/apple-app-site-association(AASA, JSON)은 어떤 URL을 앱으로 열지(Universal Links)를 선언합니다. 안드로이드의 /.well-known/assetlinks.json(Digital Asset Links)은 도메인과 앱의 관계를 검증해 App Links와 자동 로그인을 가능하게 합니다. 두 파일 모두 정확한 Content-Type(대개 application/json)과 리다이렉트 없는 직접 200 응답이 요구되며, 여기서 어긋나면 딥링크가 조용히 실패합니다.
GET /.well-known/assetlinks.json HTTP/1.1
Host: example.com
HTTP/1.1 200 OK
Content-Type: application/json
[{"relation":["delegate_permission/common.handle_all_urls"],
"target":{"namespace":"android_app","package_name":"com.example.app",
"sha256_cert_fingerprints":["A1:B2:C3:..."]}}]
robots.txt, ai.txt/llms.txt
관례상 루트에 두는 파일도 있습니다. /robots.txt 는 well-known 레지스트리 이전부터 있던 크롤러 규칙 파일로, /.well-known/ 아래가 아니라 루트에 둡니다. 최근에는 AI 크롤러·LLM을 겨냥한 /ai.txt·/llms.txt 같은 비공식 관례도 등장했습니다. robots.txt가 봇의 접근을 통제한다면, llms.txt는 LLM이 사이트를 요약·이해하도록 핵심 정보를 정리해 제공하려는 시도입니다. 다만 이들은 아직 IETF 표준이 아니라 커뮤니티 제안 수준이라는 점을 유념해야 합니다.
운영 시 주의점
well-known 파일은 대부분 인증 없이 공개되어야 하고, 앱 연동 파일처럼 리다이렉트에 민감한 경우가 많습니다. 배포 시 (1) HTTPS로 200을 반환하는지, (2) 올바른 Content-Type인지, (3) 인증 미들웨어나 SPA 폴백 라우팅이 이 경로를 가로채지 않는지 확인하세요. 특히 프런트엔드 프레임워크가 모든 경로를 index.html로 되돌려 보내면 .well-known 파일이 HTML로 응답되어 도구가 파싱에 실패하는 사고가 흔합니다.