今天上计算机网络课,老师给讲解http协议。在最后演示的时候,使用telnet连接http服务的端口,并敲入http请求,看到了http服务返回的信息。不得不说这么一弄确实让我对http的理解又深了一层,对http基于tcp有了深刻的认识。捎带着对telnet的认识也清晰了,它就是在一个tcp连接下透明传输字节流的工具。上课时老师只写了Request line,没写其他的http头,服务器一直返回4xx,5xx错误,我回到宿舍亲自试了一遍,终于找到了原因,必须附加HOST头,不然无法请求成功。下面就贴出使用telnet发送的手写http请求(本地127.0.0.1的apache http服务)和服务器返回的信息:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
Microsoft Windows [版本 6.2.9200] (c) 2012 Microsoft Corporation。保留所有权利。 C:Userssharpbai>E:MinGWmsys1.0bintelnet.exe telnet> open 127.0.0.1 80 Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is '^]'. GET / HTTP/1.0 HOST: 127.0.0.1 HTTP/1.1 200 OK Date: Fri, 31 May 2013 02:49:57 GMT Server: Apache/2.2.22 (Win32) PHP/5.4.15 X-Powered-By: PHP/5.4.15 Content-Length: 379 Connection: close Content-Type: text/html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.or g/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Up Up~</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link rel="shortcut icon" href="favicon.ico" /> </head> <body> <p> Welcome to Sharpbai's Site </p> </body> </html>Connection closed by foreign host. C:Userssharpbai> |
在没有端口扫描工具的时候,我常用telnet来做端口开放性测试。(测试评论)
哈哈~不错的方法~