前端三剑客-02HTTP协议
一丶web服务的本质
- 浏览器朝服务端发送请求
- 服务端接受请求
- 服务端返回相应的响应
- 浏览器接收响应,根据特定的规则渲染页面展示给用户看
二丶什么是HTTP协议
- 超文本传输协议
- 规定了浏览器与服务端之间消息传输的数据格式
三丶HTTP四大特性
- 基于请求响应
- 基于TCP/IP之上的作用于应用层的协议
- 无状态(服务端无法保存用户状态,每一次都为新的,所以要用到了额外的cookie,session技术)
- 无连接(请求一次我响应一次,之后立马断开连接,两者之间就再没有任何关系,websocket相当于HTTP协议的一个大的补丁, 它支持长连接)
四丶请求和响应的数据格式
请求数据格式
- 请求首行(标识HTTP协议版本,当前请求方式)
- 请求头(一大堆k,v键值对)
- \r\n\r\n
- 请求体(携带的是一些敏感信息比如 密码,身份证号...)
响应数据格式
- 响应首行(标识HTTP协议版本,响应状态码)
- 响应头(一大堆k,v键值对)
- \r\n\r\n
- 响应体(返回给浏览器页面的数据 通常响应体都是html页面)
五丶响应状态码
用一串简单的数字来表示一些复杂的状态或者提示信息
- 1XX:服务端已经成功接收了你的数据正在处理 你可以继续提交额外的数据
- 2XX:服务端成功响应 你想要的数据(请求成功200)
- 3XX:重定向(当你在访问一个需要登录之后才能访问的页面 你会发现窗口会自动调到登录页面 301 302)
- 4XX:请求错误(请求资源不存在404,请求不合法不符合内部规定会权限不够403)
- 5XX:服务器内部错误(500)
六丶请求方式
-
get请求
朝服务端要资源
-
post请求
朝服务端提交数据