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 localecho
3)连接服务器并发送请求: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的可靠性和流控 为 ...
随机推荐
- 设计模式--装饰模式C++实现
装饰模式C++实现 1定义 动态地给一个对象添加一些额外的职责.就增加功能来说,装饰模式比生成子类更加灵活.可作为继承的替代 2类图 3实现 //构件 class Component { protec ...
- 新男人八题---AStringGame
终于完成进度男人1/8,为了这题学了sam= = 题意先有一个串,n个子串,两个人轮流每次在子串上加字符,要求加完后还是原串的子串,最后不能加的就是输者,求赢的人 解法:sam之后在构造的状态图上跑s ...
- [Tomcat 部署问题] Undeployment Failure could not be redeployed ...
Tomcat 部署,在部署可能会出现以下问题: Deployment failure on Tomcat 6.x. Could not copy all resources to E:\apache- ...
- php上传多文件max_file_uploads限制问题
在PHP程序中,常常会遇到这种问题,上传附件时明明成功上传了很多附件,如图片等,但实际上只存在20个附件,或者直接报错无法上传. 在DEDECMS5.7编辑图集的时候,发现只要超过20张图片保存就会出 ...
- 【Error】:10061由于目标计算机积极拒绝,无法连接
之前Windows上连接mongodb的时候首先用mongod.exe启动程序之后,用mongo.exe来连接数据库.但是在连接的时候,出现如下错误: error:10061 由于目标计算机积极拒绝, ...
- python 黑客书籍 ——扫描+暴力破解
https://legacy.gitbook.com/book/germey/net-security/details 网络安全 介绍 构建一个端口扫描器 利用Pexpect模拟SSH连接 利用Pxs ...
- js排序算法03——选择排序
选排序的思路是首先从要排序的数组中选择最小的和目前的第一位交换位置,然后从剩下的数中选择最小的和第二个位置的数交换位置,再从剩下的数中选择最小的和第三个位置的数交换位置,以此类推,实现代码如下: fu ...
- 036——VUE中表单控件处理之动态绑定文章的属性的处理方法
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 【Seajs源码分析】2. 工具方法1
Sea.js: var seajs = global.seajs = { // The current version of Sea.js being used version: "@VER ...
- ES常见名词定义
集群:具有相同clusterName的节点.节点:一个ES实例,并不定是一个节点,因为一个节点上可以启动多个ES实例.索引:相当于数据库database的概念,一个集群可以包含多个索引.分片:索引可以 ...
