【积硅计划】http协议基础

method--请求的方法,get或者postpath-to-resource--请求的资源http/version-number--http协议的版本号当method为get时,body为空response消息包括3部分:1、响应行 2、响应 header 3、body
http/version-number--http协议的版本号
100 Continue继续收到了请求的起始部分,客户端应该继续请求 101 Switching Protocols切换协议服务器正根据客户端的指示将协议切换成Update Header列出的协议 200 ok服务器成功处理了请求 201 Created以创建对于那些要服务器创建对象的请求来说,资源已创建完毕。 202 Accepted已接受请求已接受, 但服务器尚未处理 203 Non-Authoritative Information非权威信息服务器已将事务成功处理,只是实体Header包含的信息不
是来自原始服务器,而是来自资源的副本。204 No Content无内容 Response中包含一些Header和一个状态行, 但不包括实体的主题内容
(没有response body205 Reset Content重置内容 另一个主要用于浏览器的代码。意思是浏览器应该重置当前页面上
所有的HTML表单。206 Partial Content部分内容 部分请求成功 300 Multiple Choices多项选择 客户端请求了实际指向多个资源的URL。这个代码是和一个选项列表一
起返回的,然后用户就可以选择他希望的选项了301 Moved Permanently已移走 请求的URL已移走。Response中应该包含一个Location URL, 说明资源
现在所处的位置302 Found已找到 与状态码301类似。但这里的移除是临时的。 客户端会使用Location中
给出的URL,重新发送新的HTTP request303 See Other参见其他 类似302 304 Not Modified未修改 客户的缓存资源是最新的, 要客户端使用缓存 305 Use Proxy使用代理 必须通过代理访问资源, 代理的地址在Response 的Location中 306 未使用 未使用 307 Temporary Redirect临时重定向 类似302 400 Bad Request坏请求 告诉客户端,它发送了一个错误的请求。 401 Unauthorized未授权 需要客户端对自己认证 402 Payment Required要求付款 这个状态还没被使用, 保留给将来用 403 Forbidden禁止 请求被服务器拒绝了 404 Not Found未找到 未找到资源 405 Method Not Allowed不允许使用的方法 不支持该Request的方法 406 Not Acceptable无法接受 407 Proxy Authentication Required请求
进行代理认证与状态码401类似, 用于需要进行认证的代理服务器 408 Request Timeout请求超时 如果客户端完成请求时花费的时间太长, 服务器可以回送这个状态码并
关闭连接409 Conflict冲突 发出的请求在资源上造成了一些冲突 410 Gone消失了 服务器曾经有这个资源,现在没有了, 与状态码404类似 411 Length Required要求长度指示 服务器要求在Request中包含Content-Length。 412 Precondition Failed先决条件失败 413 Request Entity Too Large请求实体太大 客户端发送的实体主体部分比服务器能够或者希望处理的要 414 Request URI Too Long请求的url太长 客户端发送的请求所携带的URL超过了服务器能够或者希望处理的长度 415 Unsupported Media Type不支持的媒体类型 服务器无法理解或不支持客户端所发送的实体的内容类型 416 Requested Range Not Satisfiable所请求
的范围未得到满足417 Expectation Failed无法满足期望 500 Internal Server Error内部服务器错误 服务器遇到一个错误,使其无法为请求提供服务 501 Not Implemented未实现 客户端发起的请求超出服务器的能力范围(比如,使用了服务器不支持的请求
方法)时,使用此状态码。502 Bad Gateway网管鼓掌 代理使用的服务器遇到了上游的无效响应 503 Service Unavailable未提供此服务 服务器目前无法为请求提供服务,但过一段时间就可以恢复服务 504 Gateway Timeout网关超时 与状态吗408类似, 但是响应来自网关或代理,此网关或代理在等待另一台
服务器的响应时出现了超时505 HTTP Version Not Supported
不支持的http版本服务器收到的请求使用了它不支持的HTTP协议版本。 有些服务器不支持HTTP
早期的HTTP协议版本,也不支持太高的协议版本
request header主要内容
*内容编码类型(Content-Encoding)gzip -- 采用GNU zip压缩compress -- 采用unix的文件压缩程序deflate -- 采用zlib格式压缩identity -- 表明没有对实体进行编码
gzip,compress,deflate都是无损压缩算法,可以减少传输报文的大小,不会导致信息损失。其中gzip效率最高
【积硅计划】http协议基础的更多相关文章
- 【积硅计划】html标签
一.基础 在html中,标签通常是由开始标签和结束标签组成,开始标签用<标签名>,结束标签用</标签名> 元素是指包括开始标签和结束标签在内的整体,内容是指出 ...
- TCP/IP协议基础(转)
转自 http://www.chinaunix.net 作者:Bernardus160 发表于:2003-12-03 17:33:15 TCP/IP协议基础 -------------------- ...
- 小白日记27:kali渗透测试之Web渗透-Http协议基础,WEB
Http协议基础 Web技术发展[http://www.cnblogs.com/ProgrammerGE/articles/1824657.html] 静态WEB[网页] 动态WEB 属于一种应用程序 ...
- HTTP协议基础与实验
一. HTTP协议(Hypetext Transfer Protoacal,超文本传输协议) HTTP协议规定了Web基本的运作过程,以及Web服务器之间的通信细节. Http协议采用客户端/服务器端 ...
- udp协议基础(转自疯狂java讲义)
第17章 网络编程 17.4 基于UDP协议的网络编程 UDP协议是一种不可靠的网络协议,它在通信实例的两端各建立一个Socket,但这两个Socket之间并没有虚拟链路,这两个Socket只是发 ...
- UART串口协议基础1
Louis kaly.liu@163.com 串口协议基础 1 串口概述 串口由收发器组成.发送器是通过TxD引脚发送串行数据,接收器是通过RxD引脚接收串行数据. 发送器和接收器都利用了一个移位寄存 ...
- 接口测试培训:HTTP协议基础
接口测试培训:HTTP协议基础 引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展. ...
- 【RL-TCPnet网络教程】第41章 HTTP超文本传输协议基础知识
第41章 HTTP超文本传输协议基础知识 本章节为大家讲解HTTP(HyperText Transfer Protocol,超文本传输协议),从本章节开始,正式进入嵌入式Web的设计和学习. ...
- 【RL-TCPnet网络教程】第35章 FTP文件传输协议基础知识
第35章 FTP文件传输协议基础知识 本章节为大家讲解FTP(File Transfer Protocol,文件传输协议)的基础知识,方便后面章节的实战操作. (本章的知识点主要整理自网络) ...
随机推荐
- Arcgis9.3下栅格数据的坐标转换出错
Arcgis9.3下栅格数据的坐标转换出错 在win7系统下的arcgis9.3,使用toolbox里raster project工具总是出错,后来打了sp1补丁就没问题了,想不到arcgis还有这样 ...
- C++ STL小知识
五种迭代器: 在STL中,迭代器主要分为5类,分别是:输入迭代器.输出迭代器.前向迭代器.双向迭代器和随机访问迭代器. 输入迭代器 :只读,支持++.==.!=: 输出迭代器 :只写,支持++: 前向 ...
- SQL Server设置主键自增长列
1.新建一数据表,里面有字段id,将id设为为主键 create table tb(id int,constraint pkid primary key (id)) create table tb(i ...
- UltraEdit 除去行首的行号和空格
我们在复制代码的时候,经常会发生这种事情. 例如:如下文件(lpc17xx_libcfg.h) 00001 /********************************************* ...
- 零基础如何入门Python
编程零基础如何学习Python 如果你是零基础,注意是零基础,想入门编程的话,我推荐你学Python.虽然国内基本上是以C语言作为入门教学,但在麻省理工等国外大学都是以Python作为编程入门教学的. ...
- 哪项技术可以用在WEB开发中实现会话跟踪实现?
HTTP是“无状态”协议:客户程序每次读取 Web 页面,都打开到 Web 服务器的单独的连接,并且,服务器也不自动维护客户的上下文信息.即使那些支持持续性 HTTP 连接的服务器,尽管多个客户请求连 ...
- Gradle用户指南(章8:依赖关系管理基础)
章8:依赖关系管理基础 本章将介绍一些gradle依赖关系管理的基础 什么是依赖关系管理? 简略的说,依赖管理是由两部分组成的.首先,gradle需要知道你要构建或者运行的项目,以便找到它们.我们将这 ...
- flex经验记录(转载)
最近一直忙于项目,很好抽出时间学习,刚忙里偷闲浏览博客看到一位博友总结的一些flex的经验,感觉不错就转载过来,一来扩散一下,二来保存下来,以后忘记的时候可以回来学习下. 原博文地址:http://b ...
- notepad++ tab键用空格缩进
从工作那天开始到现在,写python代码一直用notepad++来写,尝试几次都改不回eclipse.o(╯□╰)o python脚本中,如果用制表符缩进,经常会报错,必须改用空格缩进代替. 之前设置 ...
- Oracle 物化视图创建
create materialized view MV_XXXXrefresh fast on commitwith rowidenable query rewriteasselect * from ...


