一、Get和Post的区别
1、用途
- Get:用于从服务器请求数据,幂等,不改变服务器的数据。
- Post:用于向服务器发送数据,可能改变服务器数据。
2、数据传输方式
- Get:通过url传参,使用&符号连接多个参数,长度有限制。
- Post:将数据放置在body中。
3、缓存
- Get:可以被缓存,相同的请求可以直接从缓存中拿。
- Post:不会被缓存,每次请求都会发送一个新的请求。
4、安全性
- Get:url可以获取,不适合传递敏感数据。
- Post:更适合传输敏感数据。
5、幂等性
- Get:幂等的,get只是查询数据,并不改变。
- Post:不是幂等的,每次请求都有可能改变数据,可以通过业务代码进行幂等性。
二、HTTP 中重定向和请求转发的区别??
1、url路径:
- 重定向:url会变
- 转发:url不变
2、请求次数:
- 重定向:请求2次
- 转发:请求1次
3、行为:
- 重定向:浏览器的行为,浏览器跳转
- 转发:服务器内部进行跳转
4、数据情况:
- 重定向:数据会丢失。
- 转发:数据不会丢失。
5、跳转路径:
- 重定向:可以是任意网址。
- 转发:只能跳转当前项目。
三、http和https的区别??
1、安全性不同:
- http:超文本传输协议,信息是明文,不安全。
- https:通过使用SSL/TLS加密技术,更安全。
2、连接方式不同:
- http:基于TCP协议,在发送请求和接收到请求之后断开连接。
- https:连接是持久的,可以复用,减少了连接建立和关闭的开销,提高了效率。
3、端口不同:
- http:端口为80。
- https:端口为443。
4、证书申请不同:
- http:无需证书。
- https:需要到ca申请证书。