Photo by Patrick Hendry on Unsplash

http: MIME 타입과 Content-Type, 그리고 nosniff

민동준

--

리얼월드 HTTP를 공부하면서 메모 해두면 좋을 것 같아서 적습니다.

1. MIME 타입

MIME 타입은 http 통신에서 파일의 종류를 구별하는 문자열로 전자메일을 위해 만들어졌습니다. 아래 링크를 보면 바로 어떤 것인지 알 수 있습니다. 우리가 가장 흔하게 사용하는 것은 ‘application/json’ 일것입니다 (JSON 타입).

2. Content-Type과 보안

브라우저는 Content-Type 헤더에 지정된 MIME 타입을 사용합니다. ‘인터넷 익스플로러'는 인터넷 옵션에 따라 MIME 타입이 아닌 내용을 보고 파일 형식을 추측합니다.

가령 예를 들자면 파일 자체가 text/plain으로 해석되어져야 하는 파일인데도 html과 자바스크립트가 적혀 있으면 브라우저가 파일을 실행 해버리기도 합니다. 왜냐면 추측을 하기 때문이죠.

그리고 이 동작을 content sniffing이라고 합니다.

3. nosniff

위와 같은 곤란한 경우를 막기 위해 아래와 같이 헤더를 전송하면 됩니다

X-Content-Type-Options: nosniff

--

--

민동준
민동준

Written by 민동준

저는 영화와 책, 커피와 맥주, 음악과 달리기를 좋아합니다.

No responses yet