1.HTTP 和 HTTPS 区别
- 端口不同
- HTTP:80
- HTTPS:443
- 安全性
-HTTP:文明传输,容易被窃听、篡改 HTTPS:加密传输,更安全
- 是否加密
- HTTP:无加密
- HTTPS=HTTP+SSL/TLS加密
- 是否需要证书
- HTTP:不需要
- HTTPS:需要CA证书
- 性能
- HTTP更快
- HTTPS多了加密握手,稍慢一点
总结
HTTP文明80端口,不安全;HTTPS加密443端口,安全但稍慢
2.GET 和 POST 区别
- 参数位置
- GET:参数放在URL里,可见
- POST:参数放在请求体里,相对隐蔽
- 数据大小
- GET:受URL长度限制,数据小
- POST:理论无大小限制,适合传大数据
- 安全性
- GET:不安全,参数明文显示
- POST:相对安全,不会直接暴露在地址栏
- 缓存/历史
- GET:会被浏览器缓存、保留在历史记录
- POST:默认不缓存,不留历史
- 作用
- GET:用于查询、获取数据
- POST:用于提交、新增、修改数据
- 编码类型
- GET只支持ASCII
- POST支持多种编码
总结
GET查数据,URL传参、不安全、长度小;POST提交数据,请求体传参、更安全、传更大数据。
3.状态码:200、400、404、500、302
- 200:请求成功,一切正常
- 302:临时重定向(跳转)
- 400:请求参数错误,后端无法解析
- 404:资源不存在,路径/接口错了
- 500:服务器内部代码报错(空指针、异常等)
4.Cookie 和 Session
- 存放位置
- Cookie:存在客户端浏览器
- Session:存在服务器端
- 安全性
- Cookie不安全,容易被篡改、窃取
- Session更安全,只给客户端一个SessionID
- 存储大小
- Cookie很小,一般4KB左右
- Session可存更大数据
- 生命周期
- Cookie可长期保存(设置过期时间)
- Session默认会话结束关闭浏览器就失效
- 典型关系
用户登录→服务器创建Session→把SESSIONID存放在COokie返回给浏览器
下次请求浏览器自动带Cookie→服务器通过SESSIONID找到对应Session
总结
Cookie存在客户端、不安全、小;Session存服务端、安全、依赖Cookie传ID。
5.转发和重定向
- 转发(forward)
- 服务器内部跳转,浏览器地址栏不变
- 只发1次请求
- 可以共享request域数据
- 路径写法:forward:/xxx
- 重定向(redirect)
- 告诉浏览器去新地址,地址栏会变
- 不能共享request数据
- 路径写法:redirect:/xxx
总结
转发:服务器跳,地址不变,一次请求; 重定向:浏览器跳,地址变,两次请求;