728x90
MIME Type
MIME 타입은 웹과 이메일 등에서 파일이나 데이터의 종류를 식별하기 위한 표준 포맷입니다. 초기에는 이메일 첨부파일의 타입을 구분하기 위해 개발되었으나 발전되어 웹과 API 등 다양한 곳에서 쓰이게 되었습니다.
‘데이터가 어떤 형식인지’를 나타내는 문자열로 웹 서버와 브라우저, 이메일 클라이언트, API 등이 데이터를 처리할 때 적절한 방식과 보안으로 처리할 수 있게 도와줍니다.
MIME 타입 예시
MIME Type | 설명 |
---|---|
text/html |
HTML 문서 |
text/plain |
일반 텍스트 |
image/png |
PNG 이미지 |
application/json |
JSON 데이터 |
application/pdf |
PDF 파일 |
video/mp4 |
MP4 비디오 파일 |
실사용(HTML)
HTTP 응답 헤더와 <script>
또는 <style>
태그에서 쉽게 볼 수 있습니다.
Content-Type: text/html
<script type="application/javascript" src="script.js"></script>
<link rel="stylesheet" type="text/css" href="style.css">
보안
웹 서버가 파일을 전송할 때 잘못된 MIME Type을 설정하면 보안 문제가 생기기도 합니다. 예를 들어
→ HTML 파일을 text/plain
으로 보내면 단순 텍스트로 보여 안전하지만
JavaScript에서 text/html
로 보내면 XSS 공격에 취약할 수 있습니다.
그래서 대부분의 웹 서버는 정확한 MIME Type 설정을 엄격히 관리합니다.
XSS 공격이란?
웹 애플리케이션의 취약점을 이용해 공격자가 악성 스크립트를 웹 페이지에 삽입하고, 사용자가 해당 페이지를 열람할 때 스크립트가 실행되도록 유도하는 공격입니다.
728x90
'크래프톤 정글(C언어 WEEK 5 ~ 8)' 카테고리의 다른 글
HTTP(Hyper Text Transfer Protocol) (1) | 2025.05.06 |
---|---|
CGI(Common Gateway Interface) (1) | 2025.05.06 |
Web server (웹 서버) (0) | 2025.05.06 |
Datagram Socket vs Stream Socket (0) | 2025.05.06 |
파일 디스크립터(TCP/IP 측면) (0) | 2025.05.06 |