http协议:简单、快捷、无连接、无状态。多在请求之间是没有关联的,独立的。
淘宝:登录,搜索商品,下订单,支付,评论,既然请求之间是没有关联,所以就要通过cookie建立会话
1.HTTP Basic Authentication
2.session-cookie
3.Token验证
4.Oauth(开放鉴权)
当用户第一次访问服务器的时候,然后在服务器保存一个sessionid,这个sessionid是经过加密,然后通过cookie把这个sessionid保存到客户端,然后请求服务器的时候只发送sessionid
解决了cookie不安全的问题,但是当用户量特别大的时候导致服务器奔溃
请求IP捆绑、session复制,单点登录
session是保存在内存里面,token可以保存在数据库里面/文件
当一个用户登录之后,就给它发送一个token令牌,下一次用户再次请求的时候,只需要带上这个令牌,token可以转获取的。
加密:RSA
对称加密:MD5 数字签名
相同点:都是用户鉴权的,都是服务器产生的
区别:
1.cookie存储客服端,session存储在服务器,session的安全性比cookie高,所以一般情况下把重要的信息放在session,把不重要的放cookie
2.session存在服务器内存,token存在服务器的文件或者数据库中,token的好处比session更节省服务器资源,token只需要在服务器解密即可
ip协议对应于网络层、TCP协议对应于传输层、而HTTP协议对应于应用层
socket则是对TCP/IP协议的封装和应用(程序员层面上)
TCP/IP协议是传输层协议,主要解决数据如何在网络中传输
而HTTP是应用层协议,主要解决如何包装数据
实际上socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口api。通过Socket,我们才能使用TCP/IP协议
实际上Socket跟TCP/IP没有必然的关系
实际上socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口api。通过Socket,我们才能使用TCP/IP协议
实际上Socket跟TCP/IP没有必然的关系
TCP/IP只是一个协议栈,就像操作系统的运行机制一样,必须要具体实现,同时还要提供对外的操作接口