2009-07-30 1 views
1

맞춤 인코딩 유형으로 콘텐츠를 스트리밍하는 브라우저 플러그인 및 서버 구성 요소 시스템을 개발 중입니다. 이제 클라이언트가 특수 인코딩을 처리 할 수 ​​있는지 여부를 서버 측에서 감지 할 수 있기를 바라며 브라우저에서 HTTP로 작업하는 일반적인 방식과 일관되게 유지하려고합니다. 따라서 브라우저 플러그인에서 새로운 인코딩 - Accept-Encoding 요청 헤더. 즉 :URL Monikers 또는 다른 방법으로 IE에서 Accept-Encoding 헤더를 어떻게 바꿀 수 있습니까?

인코딩 수락 : 나는 IHttpNegotiate를 구현하고 BeginningTransaction의 추가 헤더로 설정 시도

myencoding, 폐, GZIP,하지만 그것을 무시하거나 보인다 또는 나중에 덮어 쓰기됩니다.

답변

1

제발하지 말아주세요. WinINET, 프록시 등이 모두 Accept-Encoding 및 Content-Encoding에 대한 가정을하기 때문에 Accept-Encoding 헤더 (예 : 비동기식 Pluggable Protocol wrapping)를 수정할 수있는 접근 방식은 반드시 해킹되어야하며 신뢰할 수는 없습니다. 헤더 및 새로운 계획을 도입하는 것은 신뢰할 수 없습니다.

예를 들어 인기있는 프록시 중 하나가 알려지지 않은 인코딩을 GZIP로 처리하고 이에 대한 응답으로 Content-Encoding 헤더를 다시 작성한다고 들었습니다. 분명히 그것은 당신의 계획을 깨뜨릴 것입니다.

+0

흥미 롭습니다. HTTP 규격의 요점은 무엇인가? 어쨌든 이것은 특정 기업 환경에서 사용하기위한 것이므로 프록시 문제는 실제로 문제가되지 않습니다. 우리는 이미이 환경에서 Firefox에서이 스키마를 철저히 테스트했습니다. 그러나 WinINET은 Accept-Encoding 헤더를 어떻게 가정합니까? – Gerald

+0

어쨌든, 답변 주셔서 감사합니다. 이 점을 고려하여 IE에서 작동하도록하는 것과 관련된 명백한 해커를 추가하면 별도의 요청 헤더를 사용하기로 결정하고 Content-Encoding 대신 사용자 지정 MIME 형식을 사용하는 원래 계획을 계속 진행하기로 결정했습니다. – Gerald

관련 문제