http协议连接方式 —— 短连接和长连接(请求头Connection属性)

本文介绍了网页加载过程中资源获取的流程,包括建立连接、请求资源和断开连接。讨论了HTTP协议中的短连接和长连接两种模式。短连接在获取每个资源时都要重复建立和断开连接,而长连接则在首次建立后保持连接,允许多次请求,以减少网络延迟。HTTP/1.0默认使用短连接,HTTP/1.1引入了长连接以提高效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一般一个网页是由多个元素组成的,浏览器在向服务器发起请求以后,服务端每次只能返回一种资源,响应头中的Content-Type属性描述了返回资源的类型。因此,我们所看到的一个完整的网页往往需要请求多次。

这里就分为两种情况了,一种是 “ 建立连接—浏览器请求—服务端响应—断开连接 ”,每次获取资源都需要建立新的连接,这种方式我们称为短连接;另一种就是 第一次请求的时候就建立好连接,后续获取资源都是通过这条连接来获取资源,这种方式我们称为长连接

1、获取资源的过程

上面提到,一个网页由多个元素或者资源组成,要获取到一个完整的网页往往需要请求多次。首先,和服务端建立起连接,其次,请求这个网页的框架(html资源),随后依次申请图片(jpg资源)、视频等其他资源。我们只要发起第一次请求,后续的资源请求由浏览器来自动发送。

2、长连接和短连接

http协议是基于tcp协议的,获取资源时要和服务端建立起连接,站在应用层的角度,连接类型有两种,分别是短连接和长连接。

(1) 短连接

短连接分为了三步:

        第一步,浏览器向服务器发起一次请求来申请资源

        第二步,服务器响应浏览器并返回资源

        第三步,断开连接

因为一个网页的资源要获取多次,所以短连接状态下,需要重复上述操作,直至获取完一个网页的所有资源。

(2) 长连接

http/1.0版本使用的都是短连接,短连接需要频繁的跟服务端建立起连接,这样做是特别耗时的!为了减少频繁建立连接,在http/1.1版本引入了 长连接 方式,长连接建立起一次连接以后,这个连接会一直存在,不会断开。

### 可能的原因分析 当遇到 `java.net.ConnectException: Connection refused` 错误时,通常意味着客户端尝试建立到特定服务器上的TCP/IP连接被拒绝。这可能由多种原因引起: - SSH服务未启动或配置错误[^1]。 - 防火墙阻止了SSH请求通过22端口[^3]。 - 虚拟网络适配器配置不当导致无法通信[^4]。 ### 解决方案概述 针对上述情况,可以采取以下措施解决问题并恢复FinalShell与目标机器之间的正常连接。 #### 检查SSH服务状态服务监听端口 确保目标Linux系统的OpenSSH Server已正确安装并且正在运行。可以通过命令行验证SSH守护进程的状态以及它所监听的具体端口号。 对于基于Debian/Ubuntu的发行版: ```bash sudo systemctl status sshd.service ``` 如果发现服务停止,则可执行如下指令重新激活该服务: ```bash sudo service ssh start ``` 另外还需确认SSH默认使用的22号端口处于开启状态,并且没有任何其他应用程序占用此端口。 #### 修改防火墙规则允许外部访问SSH端口 即使SSH服务已经就绪,在某些情况下仍然会因为本地防火墙策略而阻碍来自外界的连接请求。因此建议调整相应的iptables或者firewalld设置以放通必要的流量进出路径。 在CentOS/RHEL环境下操作FirewallD为例: ```bash sudo firewall-cmd --zone=public --add-port=22/tcp --permanent sudo firewall-cmd --reload ``` 以上两条语句的作用分别是永久性地向公共区域添加一条新的入站规则允许TCP协议下的22端口通行;随后立即应用更改后的配置文件使新设定生效。 #### 核实虚拟网卡参数一致性 考虑到问题描述中提到使用的是VMware Workstation创建出来的Guest OS实例,那么还需要特别留意宿主机同客户机之间网络接口匹配度的问题。具体来说就是要保证两者采用相同的联网方式(比如NAT/N Bridged Adapter),并且保持IP地址分配机制的一致性以免造成冲突现象发生。 假设当前场景下选用的是桥接模式作为主要传输手段的话,应当仔细对比两者的MAC Address属性是否存在差异之处——一旦存在则需手动修正使之相同从而实现无缝对接效果。 最后别忘了测试一下基本ICMP Echo Request功能是否可达,即俗称Ping命令能否成功获取回应包信息,以此初步判断物理层面上的数据交换能力如何。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值