[Error] net::ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION

S3에서 암호화된 파일을 다운로드 받는 도중 발생하는 에러처리중 해당 메시지가 브라우저 콘솔에 노출되어 써칭해보았습니다.

 

net::ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION

 

CONTENT_DISPOSITION 해당 헤더를 사용중이긴 했는데 뭔가 헤더 설정과 브라우저(크롬)와의 문제가 발생한 것으로 예상됩니다.

 

CONTENT_DISPOSITION 헤더는 컨텐츠가 브라우저에 inline 되어야 하는 웹페이지 자체이거나 웹페이지의 일부인지, 아니면 attachment로써 다운로드 되거나 로컬에 저장될 용도록 쓰이는 것인지를 알려주는 헤더입니다.

 

Content-Disposition: attachment; filename=파일명.jpg

 

대략 위와 같이 구성되는 헤더입니다. 

 

암호화된 이미지 파일을 다운로드하여 브라우저에 렌더링하려는 목적이므로 해당 헤더를 사용하고자 하였으나 filename을 명시해주는 부분에서 "" 처리를 해주지 않아서 발생하였습니다.

 

예컨데 해당 헤더가 아래와 같이 표기되면 해결되는 문제입니다.

 

Content-Disposition: attachment; filename="파일명.jpg"

 

제 케이스와는 별개로 파일명에 콤마(,)가 들어갈 경우 같은 에러메시지를 띄울 수 있는데 그 경우 언더스코어로 대체하여 받도록 할 수 있습니다.

 

다른 브라우저는 중복헤더를 무시하기 때문에 해당 에러가 IE나 사파리에서는 같은 조건에서 발생하지 않았습니다. 하지만 크롬에서는 해당 이슈가 존재하는 것 같습니다.

 

참조 : https://stackoverflow.com/questions/39404949/err-response-headers-multiple-content-disposition

댓글

Designed by JB FACTORY