image/svg+xml
Image

개요

image/svg+xml은 Scalable Vector Graphics의 미디어 타입으로, XML 기반의 벡터 이미지 포맷입니다. 좌표·도형·경로로 그림을 기술해 어떤 해상도에서도 선명하며 파일이 작아 로고·아이콘·차트에 이상적입니다.

자세히

`+xml` 접미사가 알려주듯 SVG는 XML 문서라서 텍스트 편집·CSS 스타일링·JavaScript 조작이 가능하고 전송 계층 gzip 압축이 매우 효과적입니다. 이 강력함이 곧 보안 위험이기도 합니다: SVG 안에 `<script>`, `onload` 이벤트, `<foreignObject>`, 외부 참조를 넣을 수 있어, 사용자가 업로드한 SVG를 그대로 인라인/직접 서빙하면 저장형 XSS가 됩니다.

그래서 <img> 태그로 로드된 SVG는 브라우저가 스크립트를 실행하지 않지만, SVG를 문서로 직접 열거나 HTML에 인라인으로 삽입하면 스크립트가 실행됩니다. 신뢰할 수 없는 SVG는 서버에서 살균(sanitize, 예: DOMPurify·svg-sanitizer)하거나, `Content-Security-Policy`로 스크립트를 차단하고 `Content-Disposition: attachment`로 다운로드 강제하는 등 방어가 필요합니다.

문법

e.g. Content-Type: image/svg+xml

파일 확장자

.svg

실무 참고

관련 타입

관련 헤더