리얼월드 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