HTTP 协议
超文本传输协议 ,是一个简单的请求(request) —响应(response)协议, 规定了浏览器那和服务器之间的传输数据的格式。
HTTP 的底层协议 :TCP协议 。
TCP的特点 : 面向连接 保证可靠性。
TCP 的三次握手 : 因为HTTP 是基于TCP协议的, 也认为是HTTP的三次握手。
第一次握手 : 客户端 向服务器发送一个请求消息 。服务端收到消息后知道域客户端是可以连接成功的。
第二次握手:此时客户端并不知道服务端是否已经接收到了 它的请求,所以服务端接收到消息后 向客户端做出相应 ,客户端收到服务端的反馈后 ,才额能确定自己于服务器之间时间可以连接的。
第三次握手 :客户端确认于服务器端建立连接后 ,开始项服务器端发送数据。
特点
是基于TCP / IP 的高级协议 默认端口号: 80 基于请求响应模型 :一次请求对应一次响应。
传输数据的特点
请求
请求分为三部分 :请求行 请求头 请求体
- 请求行中,通过request对象的相应方法获取到 协议名,端口号,项目名称,请求方式,参数列表等信息。
- 请求头是当前对用户发送是的数据的描述信息,请求头信息在请求的时候不需要程序员手动添加,是浏览器在发送的时候就已经处理好。
- 请求体是请求中携带的数据 。也是程序员需要获取的数据。
响应分为三部 响应行 响应头 响应体
- 相应行包含协议和版本 。
- 响应头包含服务器要告诉浏览器中的一些信息, 写法格式:头名称:值。
- 响应体包含服务器响应给浏览器的源码信息和状态码
1XX -信息, 服务器收到请求,需要请求者继续执行操作
2XX -成功,操作被成功接收并处理
3XX -重定向,需要进一步的操作以完成请求
4XX -客户端错误,请求包含语法错误或无法完成请求
5XX -服务器错误 ,服务器在处理请求的过程中发生了错误