HTTP协议
HTTP协议
1.主要内容
- HTTP格式
- HTTP特点
- HTTP之URL
- HTTP请求
- HTTP响应
- 消息头
2.HTTP概述
HTTP协议(Hypertxt Transfer Protocol,超文本传输协议),是一个客户端请求和响应的标准协议,这个协议详细规定了浏览器和万维网服务器之间互相通信的规则。用户输入地址和端口号之后就可以从服务器上取得所需要的网页信息。
通信规则规定了客户端发送给服务器的内容格式,也规定了服务器发送给客户端的内容格式。客户端发送给服务器的格式叫“请求协议”;服务器发送给客户端的格式叫“响应协议”。
3.浏览器中的书写格式
服务器端资源需要通过浏览器进行,此时由浏览器将我们给出的请求解析为满足HTTP协议的格式并发出。格式:
IP : Port | / | 虚拟目录 | / | 文件名 | ? | 参数 | # | 锚 |
---|---|---|---|---|---|---|---|---|
175.178.242.159 : 80 | / | myweb | / | filename | ? | key=value | # | first |
当浏览器获取到信息后,按照特定格式解析并发送即可。接受到服务器端给出的响应时,也按照HTTP协议进行解析获取到各个数据,最后按照特定格式展示给用户。
4.HTTP协议的特点
- 支持客户/服务器模式
- 简单快速
- 灵活
- 无连接
- 无状态
5.HTTP之URL
HTTP是基于请求与响应模式的、应用层的协议,常基于TCP的连接方式,绝大多数的Web开发,都是构建在HTTP协议之上的Web应用。
HTTP URL(URL 是一种特殊类型的 URI,包含了用于查找某个资源的足够的信息)的格式如下:
http://host[:port]/[path]
http 表示要通过HTTP协议来定位网络资源
host 表示合法的Internet主机域名或者IP地址
port 指定一个端口号,为空则使用缺省端口80
path 指定请求资源的URL
6.HTTP请求
HTTP请求由是三部分组成。分别是:请求行、请求头、请求正文。GET方式无请求体
请求行格式:请求方式 | 请求地址 | 请求协议版本
7.HTTP响应
在接受和解释请求消息后,服务器返回一个HTTP响应消息。HTTP响应也是由三个部分组成,分别是:状态行、消息报头、响应正文。
状态行格式:响应协议版本 | 状态码
8.消息头
HTTP消息由客户端到服务器的请求和服务器到客户端的响应组成。请求消息和响应消息都是由开始行(对于请求消息,开始行就是请求行,对于响应消息,开始行就是状态行),消息报头(可选),空行(只有CRLF的行),消息正文(可选)组成。
每一个报头域都是由名字+“:”+空格+值组成,消息报头域的名字与大小写无关的。
请求头
请求报头允许客户端向服务器传递请求的附加信息以及客户端自身的信息
Referer:该请求头指明请求从哪里来。
响应头
响应报头允许服务器传递不能放在状态行中的附加响应信息,以及关于服务器的信息和对Request-URI所标识的资源进行下一步访问的信息。
Location:Location响应报头域用于重定向接受者到一个新的位置
Refresh:自动跳转(单位是秒),可以在页面通过meta标签实现,也可在后台实现。
9.请求转发与重定向
请求转发
- 发生在服务端程序内部
- 请求方为服务器
- 服务器内共享同一个 Request 请求
- 最终 Url 地址不变
重定向
- 发生在服务器程序外部
- 请求方为客户端
- 服务器间不共享同一个 Request 请求
- 最终 Url 地址改变