[Web] Content-Type과 Content-Disposition
2016. 6. 24. 21:02ㆍWEB
브라우저가 Content를 처리하는 방법은 Content-Type과 Content-Disposition 속성을 조합 함으로써 결정됩니다.
Content-Type: 전송되는 Content가 어떤 유형인지 알려주는 목적을 가지고 있습니다. text/html, image/png, application/octet-stream 등의 값을 가집니다. Content-Type을 통해서 브라우저는 해당 데이터를 어떻게 처리해야 할 지 판단할 수 있게 됩니다.
- Content-Type: image/png: 브라우저는 해당 컨텐트를 이미지로써 간주하게 됩니다.
- Content-Type: application/octet-stream: 미확인 Binary 정보를 의미하며, 이 경우 브라우저는 파일을 다운로드하는 형태로 동작합니다.
- Content-Type: text/javascript: 브라우저는 Content를 Javascript문서로 취급하게 됩니다.
Content-Disposition: Content가 어떻게 처리되어야 하는지 나타냅니다.
- Content-Disposition: inline: 브라우저가 Content를 즉시 출력해야 함을 나타냅니다. 이미지면 브라우저 내에서 즉시 출력하며, 문서면 텍스트로 출력합니다.
- Content-Disposition: attachment: 브라우저는 해당 Content를 처리하지 않고, 다운로드하게 됩니다.
워드문서가 다운로드 되지 않거나 자바스크립트가 실행되지 않고 다운로드 되는 등의 부작용이 발생한다면, 피들러를 통해 위 두 가지 속성을 확인하고 수정함으로써 해결하실 수 있습니다.
예를 들어 비디오를 재생하지 않고 무조건 다운로드게 하고 싶다면 다음과 같이 설정함으로써 해결하실 수 있습니다.
Content-Type: application/octet-stream Content-Disposition: attachment; filename="MyVideo.mp4" |
그리고 아래와 같이 엑셀문서를 전송하면, 해당 문서는 다운로드 되지 않으며 브라우저에서 깨진 텍스트로 출력됩니다.
Content-Type: text/plain Content-Disposition: inline; filename="BankAccount.xlsx" |
Content-Disposition과 Content-Type은 HTTP 표준이지만 일부 구형 브라우저에서는 다르게 동작할 수 도 있음을 주의해주세요.
'WEB' 카테고리의 다른 글
[ASP.NET Core] Secret Manager를 통한 중요정보 보호 (0) | 2016.12.20 |
---|---|
[ASP.NET] .NET Core란 무엇이고 왜 이것이 중요한가? (0) | 2016.11.07 |
[Web] HTTP Only와 Secure Cookie 이해하기 (8) | 2015.06.22 |
[WEB] ASP.NET MVC에 HTTPS 적용하기 (3) | 2015.06.19 |
[ASP.NET] Web에서 예약된 작업실행 (0) | 2015.01.09 |