택시짱의 개발 노트

django에서 사용자가 정의한 request header 가져오기 본문

Django(장고)

django에서 사용자가 정의한 request header 가져오기

택시짱 2020. 8. 7. 16:50

django 개발을 하다 보니 client가 정의한 request header를 가져와야 할때가 있었다.

 

 

만약에 사용자가 헤더에 myheader를 보내주면 

 

django에서는 HTTP_MYHEADER로 읽어와 사용하면 된다.

 

 

근데 my_header 이렇게 _ 언더바를 추가하여 헤더로 보내주니 삭제가 되는것을 알수 있었는데

 

그 이유는 XSS공격을 막기 위한 정책이라고 한다.

 

 

그래서 _ 언더바 대신 - 하이픈을 이용해야 되고, my-header로 보내면 HTTP_MY_HEADER로 변환 된다.

 

즉 - 하이픈이 _ 언더바로 바뀌는 것이다.

 

 

그래서 my-header로 헤더를 보내게 되면

request.META['HTTP_MY_HEADER']  또는

request.META.get['HTTP_MY_HEADER']로 가져오면 된다.

 

반응형
Comments