[질문] telnet localhost 80 에서 출력이 안되는 문제

maindb의 이미지


특정 페이지(URL)을 접속하여 그 URL 의 출력을 받아 파일에 저장하려고 합니다.
php 의 fsockopen 으로 접속하여 긇어오면 되는건 아는데..
해당 서버(우리서버)의 헤더만 출력되고 바로 끝나는군요.
그래서 다른 서버로 접속해 보니 잘 나옵니다.
쉽게 표현하면

쉘 상태에서

# telnet localhost 80
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
GET / HTTP/1.0

HTTP/1.1 200 OK
Date: Fri, 04 Apr 2008 09:18:57 GMT
Server: Apache/2.2.8 (Unix) PHP/5.2.5
X-Powered-By: PHP/5.2.5
Content-Length: 0
Connection: close
Content-Type: text/html

Connection closed by foreign host.

바로 위와 같이 나오고 끝이네요..

그래서 다른 싸이트에 접속을 해보면 예를 들어
# telnet www.naver.com 80

이런 곳으로 해보면 출력 잘~ 나옵니다.

이게 왜 우리서버만 이럴까요?
조언 부탁드립니다.

정태영의 이미지

보면 실제로 Content-Length 가 0 이라고 나오네요. 그리고 요청은 HTTP/1.0 프로토콜로 했는데 실제 응답은 HTTP/1.1 프로토콜이구요.

GET / HTTP/1.1
Host: 호스트네임

식으로 요청을 날려보세요. telnet localhost 80 이 아니라 telnet 서버이름 80 식으로도 해보시구요. localhost 로 접속했을 땐 저런 식일 경우가 종종 있었던 것 같아요.

--
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..