HTTP报文=从客户机到服务器的请求+从服务器到客户机的响应

1.请求报文的格式如下:

请求头   通用信息头    请求头    实体头    报文主体

请求行的格式为:

Method【分隔符】Request-URI【分隔符】HTTP-VersionCRLF

说明如下:

(1).Method表示完成Request-URI的方法,该字段是大小写敏感的,包括options、get、head、post、put、delete、trace.方法Get和Head应该被所有的通用Web服务器支持,其它方法的实现则是可选的。Get方法取回由Request-URI标识的信息。Head方法也是取回由Request-URI标识的信息,只是可以响应时不返回消息体。Post方法可以请求服务器接收包含在请求中的实体信息,可以用于提交表单等发送消息。

(2).【分隔符】为空格。

(3).Request-URI遵循URI格式,此字段为星号(*)时,说明请求并不用于某个特定的资源地址,而是用于服务器本身。

(4).HTTP-Version表示支持的HTTP版本,如HTTP/1.1

(5).CRLF表示换行回车符。

2.响应报文的格式如下:

状态行   通用信息头   响应头   实体头   报文主体

状态行由状态码和原因分析两部分构成。其中,状态码由3位数字组成,表示请求是否被理解或被满足,用来至此自动操作;原因分析是对原文的状态码作简洁的描述,用来供用户使用。

响应报文中的状态码在进行Web应用性能测试的过程中经常遇到,说明如下:

1XX:信息响应类,表示接收到请求并且继续处理。

2XX:处理成功响应类,表示动作被成功接收、理解和接收

3XX:重定向响应类,表示为了完成指定的动作,必须接受进一步处理

4XX:客户端错误,表示客户请求包含语法错误或不能正确执行

5XX:服务端错误,表示服务器不能正确执行一个正确的请求

HTTP协议结构的更多相关文章

  1. EtherNet/IP 协议结构

    一.Ethernet/IP 协议 将标准的TCP/IP以太网延伸 到工业实时控制并和通用工业协议(CIP)结合,将很好地帮助用户获得更加开放集成的工业自动化和信息化的整体解决方案.EtherNet/I ...

  2. HTTP协议 结构,get post 区别(阿里面试)

    如果需要想了解相关的TCP的协议结构,底层架构,以及每次面试必问的三次握手,四次挥手可以 参考:TCP协议详解7层和4层解析(美团面试,阿里面试) 尤其是三次握手,四次挥手 具体发送的报文和状态都要掌 ...

  3. http协议报头详解HTTP协议结构

    http协议 请求报文和响应报文都是由以下4部分组成 1.请求行 2.请求头 3.空行 4.消息主体 下图为http请求的报文结构 下图为http响应报文结构 请求行 格式为: Method Requ ...

  4. TCP/IP协议头部结构体(网摘小结)(转)

    源:TCP/IP协议头部结构体(网摘小结) TCP/IP协议头部结构体(转) 网络协议结构体定义 // i386 is little_endian. #ifndef LITTLE_ENDIAN #de ...

  5. TCP/IP协议头部结构体

    TCP/IP协议头部结构体(转) 网络协议结构体定义 // i386 is little_endian. #ifndef LITTLE_ENDIAN #define LITTLE_ENDIAN (1) ...

  6. 浅析UPnP协议

    摘要:文章介绍了UPnP结构规范和开发流程,指出:UP nP协议使所有联网的设备实现互联,设备工作不需要传统的驱动程序,便可以实现设备间的 相互控制. 关键词:UPnP协议:开发流程:电子技术:工作 ...

  7. HTTP超文本传输协议-HTTP/1.1中文版

    摘要 超文本传输协议(HTTP)是一种为分布式,合作式,多媒体信息系统服务,面向应用层的协议.它是一种通用的,不分状态(stateless)的协议,除了诸如名称服务和分布对象管理系统之类的超文本用途外 ...

  8. 流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls)

    RTP           参考文档 RFC3550/RFC3551 Real-time Transport Protocol)是用于Internet上针对多媒体数据流的一种传输层协议.RTP协议详细 ...

  9. vlan协议及端口类型

    一.VLAN协议 1.协议的应用 802.1Q协议,即Virtual Bridged Local Area Networks协议,主要规定了VLAN的实现. 2.协议结构 每一个支持802.1Q协议的 ...

随机推荐

  1. Android 一个绚丽的loading动效分析与实现!

    http://blog.csdn.net/tianjian4592/article/details/44538605 前两天我们这边的头儿给我说,有个 gif 动效很不错,可以考虑用来做项目里的loa ...

  2. JavaScript 高级程序设计(第3版)笔记——chapter5:引用类型

    Chapter5 引用类型 本章内容: l  使用对象 l  创建并操作数组 l  理解基本的JavaScript类型 l  使用基本类型和基本包装类型 l  从技术上讲,JavaScript是一门面 ...

  3. iOS开发中地图开发的简单应用

    iOS上使用地图比Android要方便,只需要新建一个MKMapView,addSubView即可.这次要实现的效果如下: 有标注(大头针),定位,地图. 1.添加地图 1.1 新一个Single V ...

  4. PHPExcel用法

    <?php //下面是总结的几个使用方法 include 'PHPExcel.php'; include 'PHPExcel/Writer/Excel2007.php'; //或者include ...

  5. java -- 轻量级锁

    在了解轻量级锁之前,首先要知道什么是CAS CAS--Compare And Swap 比较并交换--通过比较传入的旧值和原内存位置中的值比较,来决定是不是要更新数据. CAS的语义是“我认为V的值应 ...

  6. hdu 4063 Aircraft(计算几何+最短路)

    不说了...说多了都是泪...从昨天下午一直wa到现在,直到刚刚才让人帮我找到所谓的“bug”,其实也算不上bug... 这个题的思路就是:找出平面上的所有点:所有圆的交点以及所有圆的圆心.然后依次判 ...

  7. 使用Visual Studio将Objective-C编译C++

    编译器支持 谷歌和苹果应用Clang由于他们的C++前端.为了使他们的执行代码Windows上,微软不得不Visual C++C2和Clang结合起来. (Clang是一个C语言.C++.Object ...

  8. PyDev下PyQt 的尝试

    刚刚装完PyDev ,试了下之前写的调用PyQt的下代码,发现运行出错:搜索只还需在System PYHONPATH下 添加PyQt的路径,步骤如下: eclipse--window--Prefere ...

  9. 10-UIKit(UIDatePicker、UIPickerView、UIWebView、Storyboard)

    目录: 1. UIDatePicker 2. UIPickerView 3. UIPickerView多列关联 4. UIWebView 5. Storyboard(故事板) 回到顶部 1. UIDa ...

  10. java多线程中synchronized关键字的用法

    转自:http://www.cdtarena.com/javapx/201308/9596.html 由于同一进程内的多个线程共享内存空间,在Java中,就是共享实例,当多个线程试图同时修改某个实例的 ...