如何理解HTTP的“无连接”和“无状态”

Http协议是什么?

  • HTTP(超文本传输协议)基于C/S架构,实际上也是基于Tcp/Ip,是关于数据如何在万维网中通讯 的协议,它工作在应用层。
  • HTTP规范定义了9种请求方法,每种请求方法规定了客户和服务器之间不同的信息交换方式,常用的请求方法是GETPOST。服务器将根据客户请求完成相应操作,并以应答块形式返回给客户,最后关闭连接。

无连接

①无连接的含义

  • 这里所说的无连接并不是指不连接,客户与服务器之间的HTTP连接是一种一次性连接,它限制每次连接只处理一个请求,当服务器返回本次请求的应答后便立即关闭连接,下次请求再重新建立连接。这种一次性连接主要考虑到WWW服务器面向的是Internet中成干上万个用户,且只能提供有限个连接,故服务器不会让一个连接处于等待状态,及时地释放连接可以大大提高服务器的执行效率。

②好处与弊端

  • 好处: 限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
  • 弊端: 当前网页变得越来越复杂,里面可能嵌入了很多图片,如果每次访问图片都需要建立一次 TCP 连接就显得很低效。后来,提出了Keep-Alive 用来解决效率低的问题。但是keep-alive并不是长久之计,长时间的tcp连接容易导致系统资源无效占用。配置不当的keep-alive,有时比重复利用连接带来的损失还更大,得不偿失。所以,正确地设置keep-alive timeout时间非常重要。

无状态

①无状态的含义

  • 即服务器不保留与客户交易时的任何状态。这就大大减轻了服务器记忆负担,从而保持较快的响应速度。HTTP是一种面向对象的协议。允许传送任意类型的数据对象。它通过数据类型和长度来标识所传送的数据内容和大小,并允许对数据进行压缩传送。当用户在一个HTML文档中定义了一个超文本链后,浏览器将通过TCP/IP协议与指定的服务器建立连接。

②好处与弊端

  • 好处: 大大减轻了服务器记忆负担,从而保持较快的响应速度。
  • 弊端: 客户端与服务器进行动态交互的 Web 应用程序出现之后,最常用是电商平台,HTTP 无状态的特性严重阻碍了这些应用程序的实现,毕竟交互是需要承前启后的,简单的购物车程序也要知道用户是谁,用户选择了什么商品,浏览了什么商品,这都是提升用户体验的。于是,两种用于保持 HTTP 连接状态的技术就应运而生了,一个是 Cookie,而另一个则是 Session

如何保持状态?在这里插入代码片

cookie

  • Cookies 最典型的应用是判定注册用户是否已经登录网站,用户可能会得到提示,是否在下一次进入此网站时保留用户信息以便简化登录手续,这些都是 Cookies 的功用。另一个重要应用场合是“购物车”之类处理。用户可能会在一段时间内在同一家网站的不同页面中选择不同的商品,这些信息都会写入 Cookies,以便在最后付款时提取信息。

session

  • 它是通过服务器来保持状态的,当客户端访问服务器时,服务器根据需求设置 Session,将会话信息保存在服务器上,同时将标示 SessionSessionId 传递给客户端浏览器,客户端每次请求都会把这个id值放到http请求的头部发送给服务端,而这个id值在客户端会保存下来,保存的容器就是cookie.因此当我们完全禁掉浏览器的cookie的时候,服务端的session也会不能正常使用。

基于session认证显露出来的问题:

  • 性能: 每一个用户经过后端应用认证之后,后端应用都要在服务端做一次记录,以方便用户下次请求的鉴别,通常而言session都是保存在内存中,而随着认证用户的增多,服务端的开销会明显增大,与REST风格不匹配。因为它在一个无状态协议里注入了状态。

  • 扩展性: 用户认证之后,服务端做认证记录,如果认证的记录被保存在内存中的话,这意味着用户下次请求还必须要请求在这台服务器上,这样才能拿到授权的资源,这样在分布式的应用上,相应的限制了负载均衡器的能力。这也意味着限制了应用的扩展能力。

  • 网络安全: CSRF攻击:因为基于cookie来进行用户识别, cookie如果被截获,用户就会很容易受到跨站请求伪造的攻击。

  • 跨平台: 在移动应用上 sessioncookie 很难行通,因为无法与移动终端共享服务器创建的 sessioncookie

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
瑞美lis连接迈瑞生化仪器的状态是断开的。瑞美lis是一个实验室信息系统(Laboratory Information System,LIS),用于管理和处理实验室数据和结果。迈瑞生化是一种生化仪器,用于分析和测量生物样本中的化学成分和生化参数。 在正常情况下,瑞美lis与迈瑞生化是可以连接并进行数据交互的。但是根据提供的信息,“状态去2”可以理解连接状态出现了问题,处于断开的状态。可能存在以下几种原因导致连接状态断开: 1. 设备故障:瑞美lis或迈瑞生化仪器出现故障或连接线路损坏,导致无法正常连接。 2. 网络问题:瑞美lis和迈瑞生化仪器之间的网络连接不稳定或中断,导致无法进行正常的数据交互。 3. 配置问题:瑞美lis和迈瑞生化仪器之间的配置参数不匹配或设置错误,导致无法建立有效的连接。 解决这种情况的方法包括: 1. 检查设备:确认瑞美lis和迈瑞生化仪器的硬件部分是否正常工作,如设备开关、电源线路是否连接稳定。 2. 检查网络:检查网络连接是否正常,确保网络的稳定性和可靠性。 3. 配置检查:检查瑞美lis和迈瑞生化仪器的配置参数,确保参数设置正确,包括IP地址、端口等。 4. 联系专业人员:如果以上方法无法解决问题,建议联系相关设备的供应商或技术支持团队,寻求专业的帮助和指导。 总结起来,瑞美lis连接迈瑞生化的状态断开时,我们应该先检查设备、网络和配置等方面的问题,并根据具体情况采取相应的解决方法,确保设备间的正常连接和数据交互。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值