2017-01-23 5 views
1

노드 응답을 조건부로 조작하는 연결 미들웨어가 있습니다. 일반적으로 HTML이 아니라면 이러한 응답을 조작하고 싶지 않습니다. 응답 텍스트는 writeHeadwriteend을 오버로드하여 일부 변환 로직을 삽입하기 때문에 특히 응답입니다 (응답 자체는 다른 리소스의 프록시이며 다른 것일 수 있습니다). 원래는 res.getHeader('Content-Type')처럼 보이지만 거의 항상 undefined입니다. 대신 나는 이제 req.headers.accept 값을보고 나서 /^text\/html*./.test(accept)으로 테스트하려고합니다. 이 작업을 수행하는 더 좋은 방법이 있습니까?노드 응답의 Content-Type을 검색하는 가장 좋은 방법은 무엇입니까?

답변

1

당신이하려는 것은 Content sniffing 또는 MIME 스니핑입니다.

스니핑을하기 전에 콘텐츠 형식을 잘못 식별 할 경우 발생할 수있는 보안 문제를 알고 있어야합니다.

MIME Sniffing Standard이지만, 구현하는 node.js 패키지를 찾지 못했습니다.

doc-sniff이 유용 할 수 있지만 사용하지 않았습니다.

+0

흥미 롭습니다. 스트리밍 컨텍스트에서 doc-sniff를 사용하는 방법이있는 것 같지 않습니까? – maxcountryman