HTTP 03 HTTP 报文
客户端的HTTP报文, 叫做请求报文
服务器端的叫做 响应报文.
HTTP 报文本身是由多行 (用 CR+LF 作换行符) 数据构成的字符串文本.
HTTP 报文大致分为报文首部 和 报文主体 两部分.

请求报文及响应报文的结构



在传输的过程中, 还可以对报文进行压缩和编码. 另外要对报文进行分块, 以小块(数据包)的形式进行传输
获取部分内容的范围请求
以前, 用户不能使用高速的互联网时, 下载比较大的图片就很吃力, 如果下载过程中遇到网络中断的情况, 那就必须重头开始, 为了解决上述问题, 需要一种可恢复的机制. 所谓恢复是指能从之前下载中断处恢复下载.
Content-Range: 可以用来制定请求部分内容.
针对范围请求, 响应会返回状态码 206 partial content 响应报文, 如果服务器无法响应范围请求, 则会返回状态码 200 OK 和 完整的实体内容.
返回状态码

200 OK 一切OK
204 No Content 请求已经成功处理, 但在返回的响应报文中不包含实体的主体部分, 另外, 也不允许返回任何实体主体
206 partial content, 表示响应了部分请求
301 Moved Permanently 永久重定向, 状态表示请求的资源已经被分配了新的 URI, 以后使用新的URI
302 Found 临时重定向, 表示当次请求的资源已被分配了新的 URI, 希望用户本次能使用新的URI
303 See Other 根 302 类似, 并且要求用户下次请求时必须使用 GET 方法.
注意: 当 301, 302, 303 响应状态码返回时, 几乎所有的浏览器都会把 POST 改成 GET, 并删除请求报文内的主题, 之后请求会自动再次发送.
304 Not Modified 根以上的3XX不同, 跟重定向没啥关系, 表示附带条件的请求, 如果条件不满足, 返回304

307 Temporary Redirect, 临时重定向, 与 302 相同
4XX 客户端错误
400 Bad Request, 请求报文中包含语法错误
401 Unauthorized 没有权限, 认证失败
403 Forbidden 请求的资源被服务器拒绝(服务器无需提供理由)
404 Not Found, 服务器上没看到你请求的资源
5XX 服务器错误
500 Internal Server Error, 表明请求过程中服务器端发生了错误.
503 Service Unavailable, 服务器暂时处于超负载或正在进行停机维护, 现在无法处理请求.
HTTP 03 HTTP 报文的更多相关文章
- 银联ISO8583报文解析过程
主密钥: aabbccddeeff11223344556677889900 1.从签到报文中获取工作密钥,包括MACKEY明文,PINKEY明文 签到: 12-03-31 16:38:09----&g ...
- 小白误入(<<<绝没有针对>>>)企业级架构介绍与IP tables防火墙介绍
内容详细 架构图 架构图详解 架构: 把一个整体(完成人类生存的所有工作)切分成不同的部分(分工),由不同角色来完成这些分工,并通过建立不同部分相互沟通的机制,使得这些部分能够有机的结合为一个整体,并 ...
- 2016-1-28 图解HTTP(03)
6.2.5 非HTTP/1.1首部字段 不限于RFC2616中定义的47种首部字段,还有Cookie.Set-Cookie和Content-Disposition等在其他RFC中首部字段 ...
- 报文格式:xml 、定长报文、变长报文
目前接触到的报文格式有三种:xml .定长报文.变长报文 . 此处只做简单介绍,日后应该会深入学习到三者之间如何解析,再继续更新.——2016.9.23 XML XML 被设计用来传输和存储数据. H ...
- ISO8583报文协议
最开始时,金融系统只有IBM这些大的公司来提供设备,象各种主机与终端等.在各个计算机设备之间,需要交换数据.我们知道数据是通过网络来传送的,而在网络上传送的数据都是基于0或1这样的二进制数据,如果没有 ...
- [UDP] UDP 报文数据(CoAP protocol)
UDP 机器控制项目 协议报文格式: Ver + T + TKL + Code + MessageID + 11111111 + Command ...
- 根据第三方提供的wsdl报文(axis2开发),进行的webservice应用的开发实例
接口应用名称:NgCallService 入参和出参信息 入参和出参报文信息 入参: <?xml version="1.0" encoding="UTF-8&quo ...
- Http报文 状态码
一.HTTP报文 1.HTTP报文介绍 HTTP报文:用于HTTP协议交互的信息. HTTP报文由报文头部和报文主体(非必须)构成,中间由空行来分隔. 1.1 请求报文:客户端发起的报文. 1).报文 ...
- Http报文格式学习及Get和Post主要区别总结
HTTP(HyperText Transport Protocol,超文本传送协议) http请求数据包的格式:头部(request line + header)+ 数据(data) 头部和数据包体 ...
随机推荐
- Coins [POJ1742] [DP]
Description 给出硬币面额及每种硬币的个数,求从1到m能凑出面额的个数. Input 多组数据,每组数据前两个数字为n,m.n表示硬币种类数,m为最大面额,之后前n个数为每种硬币的面额, ...
- 深入理解JVM(7)——类加载器
一.类和类加载器 a) 类加载器的作用:将class文件加载到JVM的方法区,并且在方法区中创建一个java.lang.Class对象作为外界访问这个类的接口. b) 类和 ...
- python之对象(实例)
1.对象是关于类而实际存在的一个例子,即实例 #类实例化得到g1这个实例 class Garen: camp='Demacia' def __init__(self,nickname,aggressi ...
- Aizu2249 Road Construction(dijkstra优化+思路 好题)
https://vjudge.net/problem/Aizu-2249 感觉这题和2017女生赛的Deleting Edge思路很像,都是先找最短路,然后替换边的. 但是这题用最朴素的dijkstr ...
- Java知识回顾 (10) 线程
再次声明,正如(1)中所描述的,本资料来自于runoob,略有修改. 一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务. Java 给多线程编程提供了内 ...
- Go语言之高级篇beego框架之日志收集系统
一.日志收集系统架构设计 图1 图2 二.开发环境 1.安装jdk jdk-8u51-windows-x64.exe 安装目录:C:\Program Files\jdk8 2.安装zookeeper ...
- [转]jQuery中clone和clone(true)的区别
jquery中clone() 和 clone(true)的区别. jquery复制 DOM的时候,原来还可以连 dom上面绑定的事件一起复制. 原文: https://www.cnblogs.com/ ...
- ajax的请求,参数怎么管理?
一般发送一条ajax 然后点击界面需要更改查询条件,第一种是做一个form表单比较合适的设计.更改了参数回收表单然后重新发送ajax: 还有一种是把参数缓存到变量中,然后更改了条件修改变量再次重发aj ...
- MySQL之You can't specify target table for update in FROM clause解决办法
这篇文章主要介绍了mysql中You can't specify target table for update in FROM clause错误解决方法,需要的朋友可以参考下 MySQL中You c ...
- 每天一个linux命令(14):head命令
1.命令简介 head (head) 用来显示档案的开头至标准输出中.如果指定了多于一个文件,在每一段输出前会给出文件名作为文件头.如果不指定文件,或者文件为"-",则从标准输入读 ...