Windows에서 텔넷을 사용하여 HTTP 테스트

Windows에서 텔넷을 사용하여 HTTP 테스트

나는 http를 배우고 있으며 텔넷을 사용하여 내 자신의 http 요청을 보내려고 합니다.

명령 프롬프트에 다음을 입력했습니다.

telnet google.com 80

결과: 화면이 지워지고 깜박이는 커서가 보입니다. 1. 연결되었다는 표시가 표시되지 않는 이유는 무엇입니까?

이제 http 명령(index.html 가져오기...)을 입력하려고 하면 입력할 때 커서가 오른쪽으로 이동하는 것은 보이지만 화면에 문자가 나타나는 것은 보이지 않습니다. 공백만 있습니다. 2. 왜 그렇습니까?

(windows7 64비트 사용)

답변1

HTTP는 텔넷 프로토콜을 기반으로 하지 않습니다. 실제로 HTTP 서버를 "테스트"하기 위한 기반으로 텔넷을 사용하는 데에는 몇 가지 문제가 있습니다. 먼저, 텔넷은 세션 매개변수를 설정하기 위해 TCP 연결을 설정한 직후 추가 바이트를 보냅니다. 둘째, HTTP는 원격 피어가 보낸 데이터를 에코하지 않습니다. 셋째, 좋은 IPS 장치는 초기 세션 데이터가 전송되거나 프로토콜 위반이 발생할 때 HTTP 포트에 대한 연결을 끊을 수 있습니다.

텔넷 클라이언트를 사용하여 HTTP 서버를 테스트하는 것은 기껏해야 해킹 수준입니다. 클라이언트는 TCP 세션이 설정되면 빈 화면을 표시하고 서버가 다시 보내는 내용만 표시합니다. 당신이 영리하다면 많은 서버에서 페이지를 검색할 수 있을지도 모르지만... 나는 그것이 나쁜 습관이라고 생각합니다. 요청 형식을 지정하는 방법에 대한 HTTP 프로토콜을 읽어보세요 GET.

기본 http 요청은 다음과 같이 수행됩니다.

GET / HTTP/1.0
 

요청 뒤에 추가 줄을 기록해 두십시오. 완전한 요청은 빈 줄 바꿈으로 끝납니다.

답변2

연결되었다는 표시가 표시되지 않는 이유는 무엇입니까?

서버가 불필요한 추가 데이터를 보내고 더 많은 대역폭을 사용하는 이유는 무엇입니까? 그러나 연결되어 있으므로 테스트할 수 있습니다.

입력을 해보고 HTTP/1.0[enter]를 눌러보세요. 응답을 받아야 합니다.
(오류가 포함되어 있지만 일반적으로 웹 서버가 실행 중인지 테스트하기에 충분합니다.)

입력할 때 커서가 오른쪽으로 움직이는 것은 보이지만 화면에 문자가 나타나는 것은 보이지 않습니다. 공백만 있습니다.

이는 Windows 텔넷 때문입니다. 기본적으로 로컬 에코가 비활성화되어 있습니다.

관련 정보