HTTP Get Command를 이용한 파일 다운로드에서 Proxy 사용

불량청년의 이미지

간단하게 http get command를 이용하여 특정 파일을 다운로드 받기 위해 아래와 같은 시퀀스로 접속 및 다운로드 하고 있습니다.

http://aaa.com/test/test_contents/test_file.bin

1. server address(aaa.com)로 connect

2. GET /test/test_contents/test_file.bin HTTP/1.1
Host: aaa.com:80
Content-Length: 0

3. sock recv 함수로 data 수신.

문제는 proxy를 사용할 경우 위와 같이 해줄 경우 다운로드가 되지 않더군요. 그래서 아래와 같은 방법으로 접속을 했습니다.

1. proxy address로 connect

2. GET http://aaa.com/test/test_contents/test_file.bin HTTP/1.1
Host: aaa.com:80
Content-Length: 0

3. sock recv 함수로 data 수신.

위와같이 했는데 정상적으로 다운받을 수 있었습니다.

궁금한건, HTTP 1.1부터 Host field가 꼭 있어야 됨으로 Get Command시에 서버의 address를 넣어줄 필요가 없을것 같은데 넣어줘야 data 수신이 되더군요.

proxy로 접속 및 사용할 경우 Host field는 무시되는게 정상인지 궁금합니다.