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. php-kafka

    1.环境依赖 The extension support both PHP 5 and PHP 7. The extension requires » librdkafka >= 0.8 for ...

  2. PCB (3)创建新工程PCB

    点击完成 拖进我们创建的工程中

  3. ng-cordova和cordova区别

    1.cordova介绍    Cordova提供了一组设备相关的API,通过这组API,移动应用能够以JavaScript访问原生的设备功能,如摄像头.麦克风等.    Cordova支持如下7种移动 ...

  4. call()、delegatecall()

    call()当使用方法是:require(msg.sender.call.value(_weiToWithdraw)());则作用是将_weiToWithdraw个以太币发送给msg.sender地址 ...

  5. node学习之cookie和session

    c什么是cookie Cookie设计的初衷是 维持浏览器和服务端的状态.http是无状态的,服务端不能跟踪客户端的状态. 浏览器第一次向服务器发送请求,服务器会返回一个cookie给客户端浏览器,浏 ...

  6. Objective-C Mach-O文件格式深入理解

    Mach-O(Mach Object),是一种基于Mach内核的文件格式,苹果很多文件都采用这种格式,最常见的就是可执行文件和动态库. 当然,还有.o的目标文件..a和.framework的静态库以及 ...

  7. ESP32 I2S

    I2S支持DMA; I2S可以直接利用DAC来输出模拟信号 (GPIO 25 & GPIO 26): 高精度时钟使能参数:   .use_apll = true ESP32配置外设一般都是配置 ...

  8. #ifdef __cplusplus extern "C" { #endif”的定义

      平时我们在linux c平台开发的时候,引用了一些Cpp或者C的代码库,发现一些头文件有如下代码条件编译. #ifdef __cplusplus extern "C" { #e ...

  9. 深度:Hadoop对Spark五大维度正面比拼报告!

    每年,市场上都会出现种种不同的数据管理规模.类型与速度表现的分布式系统.在这些系统中,Spark和hadoop是获得最大关注的两个.然而该怎么判断哪一款适合你? 如果想批处理流量数据,并将其导入HDF ...

  10. Django 学习 (第五部)

    表设计: from django.db import models # Create your models here. # class Foo(models.Model): # name = mod ...