mod_headers 모듈은 HTTP 요청(응답) 헤더를 수정 및 삭제할 수 있는 모듈이다.

서버 설정 지시자의 거의 모든 부분에서 사용할 수 있으며, <Location>, <Directory>, <IfModule>, <VirtualHost>에서 사용하면 해당 범위에서만 기능을 제한할 수도 있다.


RequestHeader, Header

- 문법 : Header [condition] set|append|add|unset|echo header [value] [replacement] [early|env=[!]variable]

 (요청헤더는 RequestHeader 지시자를 사용)


- HTTP 요청 및 응답 헤더의 정보를 수정 및 삭제한다.

- 첫번째 condition은 onsuccess, always 값이 올 수 있으며 생략도 가능하다.

- 두번째 값은 행위를 지정한다.


 옵션

설명

 set

 헤더정보를 설정한다. 이미 헤더에 같은 이름의 정보가 있다면 덮어쓴다. 

append

 기존 헤더에 값을 추가한다.

add

 헤더에 값을 새롭게 추가한다. 중복 헤더값이 발생할 수도 있으므로 주의한다.

unset

 지정된 이름의 헤더정보를 삭제한다.

echo

 HTTP 요청헤더에 지정된 이름의 헤더정보가 있을 경우, HTTP 응답 헤더에도 추가한다.


- 예제)

IE 브라우저 호환성보기 끄기

BrowserMatch MSIE is-msie

Header set X-UA-Compatible IE=edge env=is-msie


특정페이지 캐시하지 않도록 설정

<Location "/admin">

  Header set Cache-Control "no-cache, no-store"

</Location>


특정 Content-Type 처리 (대문자로 치환)

SetEnvIf Content-Type application/json is_json

Header set ContentType APPLICATION/JSON env=is_json



※ 상세한 헤더정보 디버깅을 위해선 curl -I 옵션을 통해 헤더정보를 확인할 수 있다.

curl -I http://alpha.test.example.com/xxx.do



※ 참고자료

- 리눅스를 활용한 회사 인프라 구축의 모든 것



Posted by SungHoon, Park
,