一、 前后端通信的过程
前后端通信的过程是在“请求—响应”中完成的
- 前端:浏览器端
- 客户端:只要能和服务器通信的就叫客户端
- 后端:服务器端
二、HTTP请求响应的过程
三、HTTP报文
- 浏览器向服务器发送请求,请求本身就是信息,叫请求报文
- 服务器向浏览器发送响应时传输的信息,叫响应报文
四、HTTP请求报文的格式
五、HTTP方法的语义
- Get获取数据(获取资源 文件)
- POST创建数据(注册)
- PUT更新数据(修改个人信息,修改密码)
- DELETE删除数据
六、Get和POST方法的对比
语义
Get获取数据,POST创建数据
发送数据
- Get通过地址在请求头中携带数据,能携带的数据量和地址的长度有关,一般最多也就几K
- POST既可以通过地址在请求头中携带数据,也可以在请求体中携带数据,能携带的数据理论上是无限的
- 携带少量的数据可以使用Get请求,大量的数据可以携带POST请求
缓存
Get可以被缓存,POST不会被缓存
安全性
Get和POST都不安全,发送密码或者其他的敏感信息时不要使用Get,主要是避免他人窥屏或通过历史记录找到你的密码
七、HTTP的状态码
HTTP状态码是什么?
定义服务器对请求处理的结果,是服务器返回的
HTTP常用的状态码语义
2开头的状态码都表示请求被正确处理
200:请求被正确处理
204:请求被受理但无资源返回
206:客户端只请求资源的一部分
3开头的状态码表示需要进一步操作(重定向)
301:永久性重定向
302:临时重定向
303:与302类似,只希望客户端在请求一个URI时,能通过GET方法重定向到另一个URI上
304:发送附带条件的请求时,条件不满足时返回,与重定向无关
307:临时重定向,与302类似,只是强制要求使用POST方法
4开头的状态码一般都是客户端相关问题
400:请求报文语法有误,服务器无法识别
401:请求需要认证
403:请求的对应资源禁止访问
404:服务器找不到对应资源
5字开头的状态码一般是服务器端相关问题
500:服务器内部错误
503:服务器正忙