HTTP报文
一、HTTP:Web的基础
二、HTTP报文
1、报文流
HTTP使用术语流入和流出来描述事务处理的方向。
HTTP报文会像河水一样流动。不管是请求报文还是响应报文,所有报文都会向下游流动。所有报文的发送者都在接受者的上游。
1、1 报文组成
由三个部分组成:对报文进行描述的起始行、包含属性的首部块、以及可选的、包含数据的主体部分。
1、2 报文语法
所有的HTTP报文都可以分为两类:请求报文和响应报文。
1、2、1 起始行
请求报文的起始行说明了要做些什么,响应报文的起始行说明发生了什么。
- 请求行
请求报文的起始行,或称为请求行,包含了一个方法和一个请求URL,这个方法描述了服务器应该执行的操作,请求URL描述了要对哪个资源执行这个方法。
- 响应行
响应报文的起始行,或称为响应行,包含了响应报文使用的HTTP版本,数字状态码,以及描述操作状态的文本形式的原因短语。
- 方法
请求的起始行以方法作为开始,方法用来告知服务器要做些什么。
常用方法:
- 状态码
方法是用来告诉服务器做什么事情的,状态码则用来告诉客户端,发生了什么事情。
状态码分类:
- 原因短语
原因短语是响应起始行中最后一个组件,它为状态码提供了文本形式的解释。
1、2、2 首部
首部分类:
-
- 通用首部
既可以出现在请求报文中,也可以出现在响应报文中。
-
- 请求首部
提供更多有关请求的信息
-
- 响应首部
提供更多有关响应的信息
-
- 实体首部
描述主体的长度和内容,或者资源自身
-
- 扩展首部
规范中没有定义的新部首
常见部首实例:
2、方法
2、1 安全方法
HTTP定义了一组被称为安全方法的方法。GET方法和HEAD方法都被认为是安全的,这意味着使用GET和HEAD方法的HTTP请求都不会产生什么动作。
2、2 GET
GET是最常用的方法。通常用于请求服务器发送某个资源。
2、3 HEAD
HEAD方法和GET方法的行为很类型,但服务器在响应中只返回首部。不会返回实体的主要部分。
2、4 PUT
与GET从服务器读取文档相反,PUT方法会向服务器写入文档。
PUT方法的语义就是让服务器用请求的主体部分来创建一个有所请求的URL命名的新文档,已存在的话,就用这个主体来替代它。
2、5 POST
POST方法起初是用来向服务器输入数据的。通常用它来支持HTML的表单。
POST用于向服务器发送数据,PUT用于向服务器上的资源(例如文件)中存储数据。
2、6 TRACE
TRACE方法允许客户端在最终将请求发送给服务器时,看看他变成什么样子。
TRACE方法主要用于诊断,用于验证请求是否如愿穿过了请求/响应链。
2、7 OPTIONS
OPTIONS方法请求Web服务器告知其支持的各种功能。
2、8 DELETE
DELETE方法所做的事情就是请服务器删除请求URl 所指定的资源。
但客户端应用程序无法保证删除操作一定会被执行。因为HTTP规范允许服务器在不通知客户端的情况下撤销请求。
3、状态码