我正在学习http,并尝试使用telnet 发送我自己的http 请求。
在命令提示符中,我输入:
telnet google.com 80
Run Code Online (Sandbox Code Playgroud)
结果:屏幕被清除,我看到一个闪烁的光标。1. 为什么我看不到任何已连接的指示?
现在,尝试键入 http 命令(获取 index.html...)时,我看到光标在键入时向右移动,但我没有看到屏幕上出现字母。只有空白。2. 这是为什么呢?
(使用windows7 64位)
HTTP 不基于 telnet 协议。使用 telnet 作为“测试”HTTP 服务器的基础实际上存在一些问题。首先,telnet 在建立 TCP 连接后立即发送一些额外的字节来设置会话参数。其次,HTTP 不会回显远程对等方发送的数据。第三,当发送初始会话数据或遇到协议违规时,良好的 IPS 设备可以断开与 HTTP 端口的连接。
使用 telnet 客户端测试 HTTP 服务器充其量只是黑客行为。当 TCP 会话建立时,客户端将显示空白屏幕,并且仅显示服务器发回的内容。如果你很聪明,你也许能够在许多服务器上检索页面......但我认为这是不好的做法。阅读 HTTP 协议以了解如何格式化请求GET。
一个基本的http请求是这样完成的:
获取/HTTP/1.0
请注意请求后的额外行。完整的请求以空白换行符结束。
| 归档时间: |
|
| 查看次数: |
6139 次 |
| 最近记录: |