텔넷 메커니즘을 사용하여 서버에 http 요청을 보내고 응답을받습니다. HTTP GET 요청을 보내기 위해 텔넷을 사용할 때 이상한 점을 발견했습니다. 첫 번째 방법은 대부분의 환경에서 작동하지만 환경 중 하나에서 작동하지 않습니다. 그러나 두 번째 방법 (상대 경로 대신 전체 경로 사용)이이 환경에서 올바르게 작동합니다.텔넷을 사용하는 HTTP 요청이 응답을 얻지 못했습니다.
**
- 방법 항목 :
**
(printf와 "GET /test.jsp HTTP/1.0 \ nAccept : */* \ nUSER 님 에이전트 : WatchDog \ n \ n "; 잠 9) | telnet xx.xx.xx.xx 8093 xx.xxx.xx.xx 시도 중 ... xx.xx.xx.xx에 연결되었습니다. 이스케이프 문자는 '^]'입니다.
외부 호스트가 연결을 종료했습니다.
**
(printf와 "GET http://xx.xx.xx.xx:8093/test.jsp HTTP/1.0 \ nAccept : */* \ nUSER 님 에이전트 : 워치 독 \ 없음 **
- 방법 2
\ n "; 수면 9) | 방법 항목은 하나의 환경에서 실행되지 왜 텔넷은
Trying xx.xx.xx.xx...
Connected to xx.xx.xx.xx.
Escape character is '^]'.
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Set-Cookie: JSESSIONID=91643475E80038EA8770CE6803EE320C; Path=/
Content-Type: text/html;charset=UTF-8
Content-Language: zh-US
Content-Length: 42
Date: Mon, 03 Dec 2012 04:25:09 GMT
Connection: close
The Server is Running
Connection closed by foreign host.
8093을 xx.xx.xx.xx? 우리는 그 환경에서 어떤 것을 확인해야합니까?
Pls는이 ...
감사합니다, Sekhar
"HTTP 1.1 서버가 절대 요청 URI 또는 호스트 헤더에 호스트 집합이없는 HTTP 요청을 거부 할 수 있습니다."-> 어떤 경우에이를 알 수 있습니까? 왜냐하면 우리는 호스트가없는 HTTP 1.1 서버로 HTTP 요청을 보내고 있으며 대부분의 환경에서 잘 작동하는 상대 경로를 사용하기 때문입니다. – Sekhar
@Sekhar no, 이는 웹 서버 제조업체에 확인해야하는 구현 세부 사항입니다. RFC에 따르면 정확한 서버 리소스가 무엇인지 확인하기 위해 서버에서 발견 된 (예 : 의 URI 경로를 조사한 결과) 특정 서버에 고유 한 무언가를 발견하려고 시도 할 수 있습니다. "_] (http : // tools .ietf.org/html/rfc2616 # section-5.2). 요청을 수정 한 경우 (예 : 헤더 또는 URL에 호스트가 포함 된 유효한 HTTP 요청을 작성하고 헤더를 구분하는'\ r \ n ') 모든 서버에서 작동해야합니다. – CodeCaster