'httpHeader'에 해당되는 글 1건

  1. 2009.02.17 httpHeader 속성들 2
ASP.NET2009. 2. 17. 22:13

=> Content-disposition 속성

1) "Content-disposition: attachment"
     브라우저 인식 파일확장자를 포함하여 모든 확장자의 파일들에 대해,
    다운로드시 무조건 "파일 다운로드" 대화상자가 뜨도록 하는 헤더속성이다

2) "Content-disposition: inline"
      브라우저 인식 파일확장자를 가진 파일들에 대해서는 웹브라우저 상에서 바로 파일을 열고,
     그외의 파일들에 대해서는 "파일 다운로드" 대화상자가 뜨도록 하는 헤더속성이다.


현재 "attachment"헤더 속성이 제대로 동작하는 웹브라우저는 넷스케이프 네비게이터 모든 버전과 인터넷 익스플로러 5.0이다
인터넷 익스플로러 4.01과 5.5 버전은 브라우저 자체버그로 인해 "attachment"를 써도 "inline"속성과 동일하게 작동한다.

 

 

=> Pragma와 Cache-Control

Pragma와 Cache-Control은 브라우저나 프록시 서버로 하여금 요청시에 캐시된 문서를 사용하지 말고 매번 서버로부터 새로운 문서를 다시 전송받아 사용하도록 알리는 헤더이다.
HTTP1.0 에서는 Pragma 헤더에 'no-cache'를, HTTP1.1 에서는 Cache-Control 헤더에 'no-cache'를 각각 지정함으로써 가능하다.

브라우저나 프록시 서버가 지원하는 HTTP 프로토콜 버전을 알 수 없는 경우 응답 헤더에 Cache-Control과 Pragma 헤더를 'no-cache'로 함께 지정하여 주거나 HttpServletRequest 인터페이스 객체(내장 객체 request)의 getProtocol() 메소드를 사용하여 요청한 클라이언트의 HTTP 프로토콜 버전을 확인한 후 해당 버전에 맞게 헤더를 지정해줄 수 있다.

캐쉬 방지팁
<%
    response.setDateHeader("Expires", 0);
    response.setHeader("Pragma", "no-cache");

    if(request.getProtocol().equals("HTTP/1.1")) {
        response.setHeader("Cache-Control", "no-cache");
    }
%>


 

=> application/octet-stream

이메일이나 http에서 사용되는 content-type에서
application의 형식이 지정되어 있지 않은 경우에 octet-stream이라고 합니다.
이메일의 예를 들자면, 어떤 파일 첨부를 하는데, 이 파일의 형식이
해당 표준에 정의되어 있지 않으면 그렇게 표시를 합니다.
예를 들어 MSWORD를 메일에 첨부한다면,
Content-Type: application/msword;
이런 식으로 표시가 됩니다. application이 msword라는 것을 나타냅니다.
하지만, 확장자가 .bin으로 시작되는 binary 파일을 첨부한다면,
이에 대한 형식이 지정되어 있지 않아서
Content-Type: application/octet-stream;
이라고 표시가 됩니다.
 
그냥 간단히 말하자면,
octet-stream이라는 말 그대로 8비트로 된 일련의 데이터를 뜻합니다.
형식을 모르니깐 이런 식으로 표시하는 것이지요.
이러한 형식에 대한 정의는 MIME 문서나 HTTP 문서에 있습니다.
도움이 되었스면 하네요...

Posted by 댓거리사랑