HTTP 协议小结
本篇博客来自前辈整理资料的学习之作,若有冒犯,敬请谅解!原文博客已删除,转载篇:HTTP协议详解
1,HTTP特点
请求方法(所有方法全为大写)有多种,解释如下:
GET 请求获取Request-URI 所标识的资源;POST 在Request-URI 所标识的资源后附加新的数据;HEAD 请求获取由Request-URI 所标识的资源的响应消息报头;PUT 请求服务器存储一个资源,并用Request-URI 作为其标识;DELETE 请求服务器删除Request-URI 所标识的资源;TRACE 请求服务器回送收到的请求信息,主要用于测试或诊断;CONNECT 保留将来使用;OPTIONS 请求查询服务器的性能,或者查询与资源相关的选项和需求。
4,响应
其中:HTTP-Version 表示服务器HTTP 协议的版本;Status-Code 表示服务器发回的响应状态代码;Reason-Phrase表示状态代码的文本描述。状态代码有三位数字组成,第一个数字定义了响应的类别,且有五种可能取值:1xx:指示信息--表示请求已接收,继续处理;2xx:成功--表示请求已被成功接收、理解、接受;3xx:重定向--要完成请求必须进行更进一步的操作;4xx:客户端错误--请求有语法错误或请求无法实现;5xx:服务器端错误--服务器未能实现合法的请求。常见状态代码、状态描述、说明:200 OK //客户端请求成功400 Bad Request //客户端请求有语法错误,不能被服务器所理解401 Unauthorized //请求未经授权,这个状态代码必须和 WWW-Authenticate 报头域一起使用403 Forbidden //服务器收到请求,但是拒绝提供服务404 Not Found //请求资源不存在500 Internal Server Error //服务器发生不可预期的错误503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后,可能恢复正常
Cache-Control:用于指定缓存指令, 缓存指令是单向的 ( 响应中出现的缓存指令在请求中未必会出现),且是独立的(一个消息的缓存指令不会影响另一个消息处理的缓存机制), HTTP1.0使用的类似的报头域为Pragma。请求时的缓存指令包括: no-cache(用于指示请求或响应消息不能缓存)、 no-store、 max-age、max-stale、 min-fresh、 only-if-cached;响应时的缓存指令包括: public、 private、 no-cache、 no-store、 no-transform、must-revalidate、 proxy-revalidate、 max-age、 s-maxage。Date:普通报头域表示消息产生的日期和时间。Connection:普通报头域允许发送指定连接的选项。 例如指定连接是连续, 或者指定“close”选项,通知服务器,在响应完成后,关闭连接。
Accept:用于指定客户端接受哪些类型的信息。Accept-Charset:用于指定客户端接受的字符集。Accept-Encoding:用于指定可接受的内容编码。Accept-Language:用于指定一种自然语言。Authorization:用于证明客户端有权查看某个资源。当浏览器访问一个页面时, 如果收到服务器的响应代码为01(未授权),可以发送一个包含Authorization请求报头域的请求,要求服务器对其进行验证。Host(发送请求时,该报头域是必需的):Host请求报头域主要用于指定被请求资源的Internet主机和端口号, 它通常从HTTPURL中提取出来。User-Agent:允许客户端将它的操作系统、 浏览器和其它属性告诉服务器。
Location:用于重定向接受者到一个新的位置。Location响应报头域常用在更换域名的时候。Server:包含了服务器用来处理请求的软件信息,与User-Agent请求报头域是相对应的。下面是Server响应报头域的一个例子:Server: Apache-Coyote/1.1WWW-Authenticate:必须被包含在401( 未授权的)响应消息中, 客户端收到401响应消息时候,并发送Authorization报头域请求服务器对其进行验证时,服务端响应报头就包含该报头域。
Content-Encoding:用作媒体类型的修饰符,它的值指示了已经被应用到实体正文的附加内容的编码,因而要获得Content-Type报头域中所引用的媒体类型,必须采用相应的解码机制。Content-Language:描述了资源所用的自然语言。没有设置该域则认为实体内容将提供给所有的语言阅读者。Content-Length:用于指明实体正文的长度,以字节方式存储的十进制数字来表示。Content-Type:用语指明发送给接收者的实体正文的媒体类型。Last-Modified:用于指示资源的最后修改日期和时间。Expires:给出响应过期的日期和时间。
1)打开telnet:运行-->cmd-->telnet2)打开telnet回显功能:set localecho3)连接服务器并发送请求:open www.guet.edu.cn 80(注意端口号不能省略)
7,HTTP协议相关技术补充
常用测试请求:1: HEAD/Http/1.0发送基本的Http请求2: DELETE/Http/1.0发送那些不被允许的请求,比如Delete请求3: GET/Http/3.0发送一个非法版本的Http协议请求4: GET/JUNK/1.0发送一个不正确规格的Http协议请求Http指纹识别工具Httprint,它通过运用统计学原理,组合模糊的逻辑学技术,能很有效的确定Http服务器的类型.它可以被用来收集和分析不同Http服务器产生的签名。
HTTP 协议小结的更多相关文章
- 转:oracle ebs po模块一揽子采购协议小结
转自:http://yedward.net/?id=193 oracle ebs po模块一揽子采购协议小结 本文总结oracle ebs采购订单(po)模块一揽子采购协议的相关知识,总结如下: 1. ...
- KERMIT,XMODEM,YMODEM,ZMODEM传输协议小结(转)
源:KERMIT,XMODEM,YMODEM,ZMODEM传输协议小结 Kermit协议 报文格式: 1.MARK,起始标记START_CHAR,为 0x01(CTRIL-A): 2.LEN,报文剩余 ...
- HTTP协议小结
HTTP/0.9已过时.只接受GET一种请求方法,没有在通讯中指定版本号,且不支持请求头.由于该版本不支持POST方法,因此客户端无法向服务器传递太多信息. HTTP/1.0 这是第一个在通讯中指定版 ...
- TCP&UDP协议小结
TCP和UDP 传输层功能 网络安全 Tcp可靠性 Tcp流控 Tcp拥塞控制 Tcp运输连接管理 一个网页可能很大,一个数据包传不过来,就需要分段传输. 网络可能拥塞,某段可能丢失.那必须有人监管, ...
- Oracle PO - 模块一揽子采购协议小结
本文总结oracle ebs采购订单(po)模块一揽子采购协议的相关知识,总结如下: 1.理论介绍 (1)名词术语 一揽子采购协议(Blanket Purchase Agreement,BPA)是指某 ...
- ISO 7810 协议小结
ISO 7816规定了Smart Card的传输协议分为 T=0 异步半双工字符传输协议 T=1 异步半双工块传输协议 T=0命令介绍 命令总是由接口设备启动,他以一个5字节的报头通知卡要做什么,然后 ...
- 《SDN核心技术剖析和实战指南》2.3 OF-CONFIG配置管理协议小结
OpenFlow协议定义了交换机和控制器交换数据的方式和规范,但并没有定义如何配置和管理必需的网络参数和网络资源,OF-CONFIG的提出就是为了对OpenFlow提供配置管理支持.如下图所示,OF- ...
- KERMIT,XMODEM,YMODEM,ZMODEM传输协议小结
转:http://blog.163.com/czblaze_3333/blog/static/208996228201272295236713/ Kermit协议 报文格式: 1. MAR ...
- [na]数据链路层&网络层协议小结截图版
ip层:分组选路 tcp:端到端的通信 中间系统没必要有应用程序,分组选路即可 应用程序中隐藏所有的物理细节. 语音肯定用udp linux主版本 次版本号 修订号 次版本为偶数说明是稳定版.奇数是开 ...
- [na]tcp&udp层各协议小结
TCP和UDP 传输层功能: 可靠性:序列号.确认号&flag位 有效性:win滑动窗口 这篇目录索引: Tcp可靠性 Tcp流控 Tcp拥塞控制 Tcp运输连接管理 TCP的可靠性和流控 为 ...
随机推荐
- iometer测试磁盘IO性能
of Outstanding I/Os per target – 被选中worker的每个磁盘一次所允许的未处理的异步I/O的数量.模拟测试多个应用向 IO 请求读写,默认是 1.通常不用这个参数,除 ...
- Java对象的初始化顺序
new一个对象时,该对象的初始化顺序如下 : 父类中的静态成员变量 父类中的静态代码块 子类中的静态成员变量 子类中的静态代码块 父类中的非静态变量 父类中的非静态代码块 父类构造函数 子类中的非静态 ...
- docker下rabbitMQ高可用集群部署
第一步:docker 安装: mac 下安装命令: brew cask install docker 安装完之后查看版本 docker --version 第二步:开始集群搭建: 采用bijukunj ...
- vue的slot的使用问题
slot的使用问题 根据官方文档来说,有三种使用方式 https://cn.vuejs.org/v2/guide/components.html#%E4%BD%BF%E7%94%A8%E6%8F%92 ...
- python 语法错误记录
1 Missing parameter end_time in docstring less... (Ctrl+F1) 参数位置错误 注意:只有在形参表末尾的那些参数可以有默认参数值,即你不能在声明 ...
- [SQL]会引起全表扫描的10种SQL语句
1.模糊查询效率很低: 原因:like本身效率就比较低,应该尽量避免查询条件使用like:对于like ‘%...%’(全模糊)这样的条件,是无法使用索引的,全表扫描自然效率很低:另外,由于匹配算法的 ...
- dell n2024交换机配置
1.putty串口设置 9600 8 1 None None 2.连接 3.console>en 4.带内管理IP地址 console(config)#username admin passwo ...
- MySQL + KeepAlived + LVS 单点写入主主同步高可用架构实验
分类: MySQL 架构设计 2013-05-08 01:40 5361人阅读 评论(8) 收藏 举报 mysql 高可用 keepalive ㈠ 实战环境 服务器名· IP OS MySQL odd ...
- 利用 squid 反向代理提高网站性能(转载)
本文在介绍 squid 反向代理的工作原理的基础上,指出反向代理技术在提高网站访问速度,增强网站可用性.安全性方面有很好的用途.作者在具体的实验环境下,利用 DNS 轮询和 Squid 反向代理技术, ...
- 【跟着stackoverflow学Pandas】Select rows from a DataFrame based on values in a column -pandas 筛选
最近做一个系列博客,跟着stackoverflow学Pandas. 以 pandas作为关键词,在stackoverflow中进行搜索,随后安照 votes 数目进行排序: https://stack ...