Spring Security 의 CSRF 설정을 하면서 <meta> 태그를 사용했는데
메타데이터가 어떤건지 문득 궁금해져 작성한다.
메타데이터(Metadata) 란?
데이터에 대한 데이터를 의미한다.
쉽게 말하면 메타데이터는 어떤 데이터가 "무엇인지", "어떻게 사용되어야 하는지"에 대한 정보를 담고 있는 데이터이다.
✅ 예시로 이해하는 메타데이터
1. 📄 파일의 메타데이터
- 파일 이름 : report.pdf
- 크기 : 2MB
- 생성일자 : 2025-06-24
- 파일 형식 : PDF
이 정보들이 바로 파일의 메타데이터이다.
파일 자체가 본 데이터고 그에 대한 설명이 메타데이터이다.
2. 📷 사진의 메타데이터 (EXIF)
- 사진 찍은 날짜
- 카메라 모델
- GPS 위치 정보
사진이라는 데이터를 설명해주는 메타데이터이다.
3. 🌐 웹에서의 메타데이터 (<meta> 태그)
HTML 문서에서 <meta> 태그는 웹 페이지에 대한 정보를 브라우저나 검색 엔진에 전달하는 역할을 한다.
<meta name="description" content="Spring Boot CSRF 예제 튜토리얼">
<meta charset="UTF-8">
<meta name="author" content="OBO">
실제 웹페이지 컨텐츠는 아니더라도 웹 페이지가 어떤 내용인지, 어떤 인코딩인지 등을 알려주는 메타데이터이다
4. ✅ CSRF에서의 메타데이터
<meta name="_csrf" content="토큰값">
<meta name="_csrf_header" content="X-CSRF-TOKEN">
- Spring Security 에서 CSRF 설정할때 사용하는 Meta 태그이다.
- 미리 <head></head> 태그에 메타정보로 담아두는 방식이다.
- html 문서 자체는 변화가 없지만 Javascript 보조데이터(메타데이터)로 사용된다.
✅ 정리
용어 |
설명 |
데이터 |
실제 정보 (예: 문서, 사진, 글 내용 등) |
메타데이터 |
그 데이터를 설명해주는 정보 (예: 제목, 크기, 작성자, 인코딩, 토큰 등) |
즉, 메타데이터는 데이터를 이해하고 처리하는 데 필요한 추가 정보다.