服务器主机名讲解 服务器主机名是什么意思( 五 )


使用Token的目的:Token的目的是为了减轻服务器的压力,减少频繁的查询数据库,使服务器更加健壮 。

Token 是在服务端产生的 。如果前端使用用户名/密码向服务端请求认证,服务端认证成功,那么在服务端会返回 Token 给前端 。前端可以在每次请求的时候带上 Token 证明自己的合法地位
session与token区别
  • session机制存在服务器压力增大,CSRF跨站伪造请求攻击,扩展性不强等问题;
  • session存储在服务器端,token存储在客户端
  • token提供认证和授权功能,作为身份认证,token安全性比session好;
  • session这种会话存储方式方式只适用于客户端代码和服务端代码运行在同一台服务器上,token适用于项目级的前后端分离(前后端代码运行在不同的服务器下)
5. socket网络编程5.1、socket套接字
  1. Socket的英文原义是“孔”或“插座” 。作为BSD UNIX的进程通信机制,取后一种意思 。通常也称作”套接字”,用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信 。
  2. 将传输层及以下的网络协议封装,提供简单使用的接口(API)给应用层的软件,专门面向C/S架构模型设计的
  3. 三元组:IP地址、协议、端口号
网络层的“ip地址”可以唯一标识网络中的主机,而传输层的“协议+端口”可以唯一标识主机中的应用程序(进程) 。这样利用三元组(ip地址,协议,端口)就可以标识网络的进程了,网络中的进程通信就可以利用这个标志与其它进程进行交互 。
5.2、套接字的连接过程
  1. 服务器监听:不指定具体的客户端套接字,处于等待连接的状态,实时监控网络状态
  2. 客户端请求:指由客户端的套接字提出请求,目标是服务器端的套接字,需要指出服务器端套接字的地址和端口号
  3. 连接确认:当服务器端套接字监听到客户端套接字的连接请求,就响应请求建立一个新的进程,并返回客户端服务器的套接字描述,当客户端确认描述,连接就正式建立,服务器端继续处于监听状态
5.3、套接字(socket)函数服务端
  • s.bind() 绑定(主机,端口号)到套接字
  • s.listen() 开始TCP监听必须制定最大连接数(操作系统同时能够链接的最大数目)
  • s.accept() 被动接受TCP客户的连接,(阻塞式)等待连接到来(阻塞:无响应直到接受到连接请求)
客户端
  • s.connect() 主动初始化TCP服务器连接
  • s.connec_ex() connect()函数的扩展版本,出错时返回出错码,不抛出异常
公共用途
  • s.recv() 接收TCP数据不可接收’空’
  • s.send() 发送TCP数据待发送数量大于己端缓存剩余区空间时,数据丢失,不会发完
  • s.sendall() 发送完整的TCP数据,循环调用s.send通常给数据加上报头将数据打包更安全可靠,不常用sendall
  • s.recvfrom() 接收UDP数据
  • s.sendto() 发送UDP数据
  • s.getpeername() 连接到当前套接字的远端的地址
  • s.getsockname() 当前套接字的地址
  • s.getsockopt() 返回指定套接字的参数
  • s.setsockopt() 设置指定套接字的参数
  • s.close() 关闭套接字
面向锁的套接字方法
  • s.setblocking() 设置套接字的阻塞与非阻塞模式
  • s.set财路哥out() 设置阻塞套接字操作的超时时间
  • s.get财路哥out() 得到阻塞套接字操作的超时时间
面向文件的套接字的函数
  • s.fileno() 套接字的文件描述符
  • s.makefile() 创建一个与该套接字相关的文件
末文章会持续更新,欢迎关注公众号“任冬学编程”,听说点赞都能脱单哦!


以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!

「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: