2012-09-18 1 views
0

이미지가 http://profiles.ucsf.edu/Thumbnail.ashx?id=4926871이고 이미지를 src.sencha.io를 통해 실행하려고 시도하지만 어떤 경우에는 http://src.sencha.io/80/http://profiles.ucsf.edu/Thumbnail.ashx?id=4926871과 같은 작업을 수행합니다. 그러면 src.sencha.io에서 400 오류 (잘못된 요청)가 발생합니다.src.sencha.io 이미지가 URL 매개 변수로 가져오고 파일 확장자는 없지만 올바른 내용 유형을 사용합니다.

? (http://src.sencha.io/80/http://profiles.ucsf.edu/Thumbnail.ashx%3Fid=4926871) 문자를 이스케이프 처리했지만 시도하지 못했습니다.

도저히 빠져 나오지는 않았지만 주사위가 없다는 것을 확신하기 위해서 (http://src.sencha.io/80/http://profiles.ucsf.edu/Thumbnail.ashx%253Fid=4926871).

profiles.ucsf.edu가 워키 키 콘텐츠 유형을 반환했는지 확인했지만 이미지/jpeg가 돌아와서 멋진 버전이어야합니다.

URL 끝에 &.jpg을 추가하여 src.sencha.io를 속여서 파일 확장자에 따라 다르지만 작동하지 않는지 확인하려고했습니다.

a thread in the Sencha forum에 기초하여, 나는 http://src6.sencha.io/80/http://profiles.ucsf.edu/Thumbnail.ashx?id=4926871을 시도했지만 거기에서도 운이 없었습니다.

다른 곳으로 이미지를 복사하고 URL 매개 변수가없는 URL로 src.sencha.io를 실행하면 작동합니다. http://imgur.com/L91W7에 업로드하여 http://src.sencha.io/80/http://imgur.com/L91W7.png에 액세스하려고 시도했지만 문제가 없었습니다.

src.sencha.io를 profiles.ucsf.edu URL로 제대로 실행하려면 어떻게해야합니까? 아니면 운이 좋지 않습니까?

답변

3

소스 서버는 HTTP 콘텐츠 길이 헤더를 설정 (도 청크 사용)되지 않습니다

sh-4.1$ wget http://profiles.ucsf.edu/Thumbnail.ashx?id=4926871 
--2012-09-26 14:50:53-- http://profiles.ucsf.edu/Thumbnail.ashx?id=4926871 
Resolving profiles.ucsf.edu... 64.54.132.33 
Connecting to profiles.ucsf.edu|64.54.132.33|:80... connected. 
HTTP request sent, awaiting response... 200 OK 
Length: unspecified [image/jpeg] 

현재 src.sencha.io에서 Content-Length 헤더를 생략 어떤 HTTP 응답에 실패합니다, 청크 분할 인코딩은 사용하지 않습니다. 이것은 자원 제한 이유에 대한 응답 크기를 확인하는 서버의 부작용입니다. 400 상태는 제약 조건 위반으로 인해 작업이 실패했지만 실제로 400 매개 변수 페이지는 입력 매개 변수 정확성에 대해서만 이야기한다는 점에서 다소 혼란 스럽습니다.

이미지가 다른 HTTP 서버에 복사 될 때 요청이 작동하는 이유를 설명합니다. 즉, 서버는 Content-Length 헤더를 설정하는 것입니다 :

sh-4.1$ wget http://imgur.com/L91W7.png 
--2012-09-26 15:05:05-- http://imgur.com/L91W7.png 
Resolving imgur.com... 54.243.206.51, 23.23.110.81, 23.23.110.58 
Connecting to imgur.com|54.243.206.51|:80... connected. 
HTTP request sent, awaiting response... 301 Moved Permanently 
Location: http://i.imgur.com/L91W7.png [following] 
--2012-09-26 15:05:05-- http://i.imgur.com/L91W7.png 
Resolving i.imgur.com... 72.21.81.253 
Connecting to i.imgur.com|72.21.81.253|:80... connected. 
HTTP request sent, awaiting response... 200 OK 
Length: 72842 (71K) [image/png] 

현재 내가 아는 유일한 해결 방법에 HTTP 서버를 준비하는 것 중 하나 청크 응답을 보내거나 Content-Length 헤더를 설정합니다. HTTP 1.1 spec은 연결을 종료하기 때문에 서버의 응답을 허용하지만 src.sencha.io는 현재 해당 응답을받지 않습니다.

서버가 IIS 6.0입니다. Content-length 헤더를 생략하면 IIS 6.0의 알려진 버그인지 알기 위해 약간의 연구를했습니다. 결과는 결정적이지 않습니다. "압축 정적 파일"option that can cause this trouble에 대한 이야기가 있지만 빨간 청어 일 수 있습니다. this post에서 논의 된 것처럼 어딘가에 문제가있을 수 있습니다.

그런데 Content-Length 헤더 (!)가 누락 된 HTTP 응답을 수정하는 "클라이언트 측"네트워크 장치가 자주있는 것을 진단 할 때 조심하거나 추가하거나 청크 하나. 따라서 100 % 깨끗한 연결성이 있고 프록시 나 다른 속임수 유도 상자가없는 머신에서 테스트해야합니다.

관련 문제