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) 头部和数据包体 ...
随机推荐
- C#中的集合之ArryList
List泛型集合 集合是OOP中的一个重要概念,C#中对集合的全面支持更是该语言的精华之一. 为什么要用泛型集合? 在C# 2.0之前,主要可以通过两种方式实现集合: a.使用ArrayList 直接 ...
- [CF575B]Bribes
[CF575B]Bribes 题目大意: 一棵\(n(n\le10^5)\)个结点的树,有些边有方向,对于每条边,如果第\(i\)次逆向走过这条边,就会产生\(2^{i-1}\)的代价.开始在\(1\ ...
- NIOH
目录 NIOH中的双刀与阴阳术的应用 作战准备篇 2周目毕业装备: 加点: 双刀: 核心技能: 还行的技能: 被动技能: 忍术: 阴阳术: 必学: 选学: 守护灵: 隐世茶室 & 铁匠铺 出发 ...
- Java 构造器 考虑用静态构造方法代替构造器
类可以提供一个公有的静态工厂方法,它是一个返回类的实例的静态方法.静态工厂方法与设计模式中的工厂方法模式不同. 优势: 静态工厂方法与构造器不同的第一大优势在于,它们有名称.一个类只能有一个带有指定签 ...
- 初识hibernate——环境搭建
一 配置过程 1. 创建一个项目 2. 导包 required里的包 optional里的c3p0连接池的三个包 数据库驱动包 Junit 3.创建Hibernate的配置文件(hiberna ...
- day7接口开发
一.数据库操作, 1.创建游标时指定游标类型为字典,返回值类型为字典,方便取值 cur = coon.cursor(cursor=pymysql.cursor.Dictursor) 2.获取执行查询S ...
- C/JS_实现选择排序
1.js var arr = prompt("请输入一个数组(以“,”隔开):").split(",").map(function(data){ return ...
- JAVA自学笔记12
JAVA自学笔记12 1.Scanner 1)JDK5后用于获取用户的键盘输入 2)构造方法:public Scanner(InputStream source) 3)System.in 标准的输入流 ...
- 常见问题1:默认div隐藏,点击按钮时出现,再点击时隐藏。
例:默认div隐藏,点击按钮时出现,再点击时隐藏. <a href="#" onclick="f('ycbc')"; >控制按钮</a> ...
- CSS魔法堂:改变单选框颜色就这么吹毛求疵!
前言 是否曾经被业务提出"能改改这个单选框的颜色吧!让它和主题颜色搭配一下吧!",然后苦于原生不支持换颜色,最后被迫自己手撸一个凑合使用.若抛开input[type=radio] ...