HTTP

首先我们需要知道http报文是由一系列的字符串组成的。然后我们来了解具体的相关事项。

方法

HTTP支持几种不同形式的请求命令,这些命令就被称为HTTP方法。每个HTTP请求报文都包含一个方法,这个方法决定了服务区将会执行的动作。

常见的HTTP方法如下:

GET 从服务区向客户端发送命名资源

PUT 将来自客户端的数据存储到一个命名的服务器资源中

DELETE 从服务区中删除命名资源

POST 将客户端数据发送到一个服务区网关应用程序

HEAD 仅发送命名资源响应中的HTTP首部

 

状态码

每条HTTP响应报文返回时都会携带一个状态码。状态码是一个三位数字的代码,每条代码一般代表了一个具体的状态。除了状态码,HTTP还会发送一条解释性的原因短语文本。

如:404 NotFound

需要注意的是所有的处理过程使用的都是数字码,所以说哪怕返回的是404 xxxx也是可以的。

 

报文

HTTP报文都是纯文本。所有对HTTP报文都可以很方便的进行读写。

例:Get  /index.htm HTTP/1.0

Accept:text/html

Host: www.baidu.com

Accept-Language:en

例:HTTP/1.0 200OK

Content-type:text/plain

Content-length:19

TEST!

HTTP报文包括三个部分

起始行:报文的第一行就是起始行,在请求报文中用来说明要做些什么,在响应报文中说明出现了什么情况。

首部字段:起始行后的内容被称为首部字段,每个字段都包含一个属性和对应的值,为了便于解析,两者之间使用冒号【:】来分隔。首部以一个空行结束

主体:在首部字段的空行后就是可选的报文主体了,其中包含了所有类型的数据,请求主体中包括了要发送给服务器的数据,响应主体中则包含了需要返回给客户端的数据。起始行和数据字段都是文本形式且都是结构化的,而主体则不同,主体中可以包含任意类型的数据。

在windows下使用telnet www.baidu.com 80

这时会显示空白的命令行,按下【ctrl+]】

回车进入编辑状态,此时又回到空白状态,输入http请求

输入两个回车,即两个\r\n即可得到结果

使用telnet模拟http请求的更多相关文章

  1. [转】HTTP请求流程(二)----Telnet模拟HTTP请求

    转自: http://www.cnblogs.com/stg609/archive/2008/07/06/1237000.html 上一部分"流程简介", 我们大致了解了下HTTP ...

  2. 利用telnet模拟http请求

    最近准备接触php socket编程,所以准备先巩固以前学到的知识, 这里先简单回顾下 利用telnet 来模拟http请求. 1.先在80端口指向的目录建立http.php 文件 2.在终端输入 t ...

  3. HTTP请求流程(二)----Telnet模拟HTTP请求

    http://www.cnblogs.com/stg609/archive/2008/07/06/1237000.html 上一部分"流程简介", 我们大致了解了下HTTP请求的流 ...

  4. windows telnet 模拟 http请求

    1. 开启windows自带的telnet客户端(控制面板 --> 程序 --> 启用或关闭windows功能 --> ) 2. 打开cmd,使用Telnet客户端 3. 按ctrl ...

  5. TELNET模拟HTTP请求

    开启nginx服务,查看服务器地址(192.168.11.119) 使用telnet命令连接服务器的80端口 http协议报文格式 1.request 2.response 输入请求行: GET / ...

  6. 利用Telnet来模拟Http请求 有GET和POST两种

    利用Telnet来模拟Http请求---访问百度.       1.打开"运行"->cmd进入命令环境:       2.输入"telnet www.baidu.c ...

  7. cmd Telnet 手工模拟http请求

    telnet Windows系统自带的访问页面命令 首先打开控制面板点击卸载程序 打开windows功能 勾选 telnt 客户端 在打开cmd 命令 输入 telnt www.baidu.com 8 ...

  8. socket 模拟 HTTP请求

    一.socket介绍 网络由下往上分为物理层.数据链路层.网络层.传输层.会话层.表示层和应用层.IP协议对应于网络层,TCP协议对应于传输层,而HTTP协议对应于应用层.socket则是对TCP/I ...

  9. CMD模拟http请求

    搭建环境 前提是在win7中开启telnet服务 开启方法请参考:http://jingyan.baidu.com/article/870c6fc3cd6fa9b03fe4bee4.html 打开Te ...

随机推荐

  1. 原生js删除元素

    //删除id var idObject = document.getElementById('sidebar'); if (idObject != null) idObject.parentNode. ...

  2. MYSQL中的int(11)到底代表什么意思?

    对于int类型的一些基础知识其实上图已经说的很明白了,在这里想讨论下常用的int(11)代表什么意思,很长时间以来我都以为这代表着限制int的长度为11位,直到有天看到篇文章才明白,11代表的并不是长 ...

  3. nodejs-stream部分

    参考: https://blog.csdn.net/eeewwwddd/article/details/81042225 http://nodejs.cn/api/stream.html#stream ...

  4. 如何在Ubuntu18.04(Bionic Beaver)系统安装Teamviewer远程控制软件

    首先,打开TeamViewer的下载页面,下载Debian/Ubuntu的Deb安装包. 这里有64位和32位安装包选项.可以在Terminal(终端)中输入uname -a 查看自己系统版本是64位 ...

  5. [转]VC++宏与预处理使用方法总结

    原文链接:VC 宏与预处理使用方法总结 原文链接:VC预处理指令与宏定义的妙用

  6. 20175310《Java2实用教程》第4周学习总结

    20175310 <Java程序设计>第4周学习总结 教材学习内容总结 本周学习了第五章子类与继承的内容,这章主要讲的是面向对象的两个内容:继承与多态.其中重点是方法重写.对象的上转型对象 ...

  7. Nginx完美解决前后端分离端口号不同导致的跨域问题

    笔者在做前后端分离系统时,出现了很多坑,比如前后端的url域名相同,但是端口号不同.例如前端页面为:http://127.0.0.1/ , 后端api根路径为 http://127.0.0.1:888 ...

  8. Vue2 第二天学习

    个人小总结:1年多没有写博客,感觉很多知识点生疏了,虽然工作上能解决问题,但是当别人问到某个知识点的时候,还是迷迷糊糊的,所以坚持写博客是硬道理的,因为大脑不可能把所有的知识点记住,有可能某一天忘了, ...

  9. Linux加密、安全版块、root密码破解

    当一个入侵者进入了你的系统并且种植了木马,通常会想办法来隐蔽这个木马(除了木马自身的一些隐蔽特性外,他会尽量给你检查系统的过程设置障碍),通常入侵者会修改一些文件,比如管理员通常用ps -aux来查看 ...

  10. Ubuntu系统多屏幕时 触摸屏如何分屏定位

    有很多的使用我们需要在Ubuntu系统中使用多屏幕的情况,但是有的时候是一个屏幕的触摸屏幕,另一个屏幕是非触摸屏幕,但是问题来了, 有的时候在触摸屏幕上点击的时候竟然在非触摸的响应,这种情况非常不友好 ...