HTTP工作原理

本文详细介绍了HTTP协议的工作原理,包括客户端如何发起请求、服务器如何响应、TCP连接的建立与释放过程等。此外还对比了HTTP/1.0与HTTP/1.1的主要区别,并列举了几种常见的HTTP请求类型。

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

HTTP协议采用的是 请求/响应 模型,客户端向服务器发送一个请求报文,服务器以一个状态码作为响应。

HTTP请求/响应的步骤:

1. 客户端连接到web服务器(HTTP客户端与web服务器建立一个TCP连接)
2. 客户端向服务器发送HTTP请求(通过已建立的TCP连接,客户端向服务器发送一个请求报文)
3. 服务器接受HTTP请求并返回HTTP响应(服务器解析请求,定位请求资源,然后服务器将资源副本写到TCP连接,由客户端读取)
4. 释放TCP连接(若connection模式为close,则服务器主动关闭TCP连接,客户端被动关闭连接。若connection模式为keep-alive,则连接会保持一段时间,该事件内可以继续接收请求)
5. 客户端浏览器解析HTML内容(客户端将服务器响应的html文本解析并显示)

例如:在浏览器地址栏键入URL,按下回车之后会经历以下流程:
  1、浏览器向DNS 服务器请求解析该 URL 中的域名所对应的 IP 地址;
  2、解析出 IP 地址后,根据该 IP 地址和默认端口 80,和服务器建立 TCP 连接;
  3、浏览器发出读取文件(URL 中域名后面部分对应的文件)的HTTP 请求,该请求报文作为 TCP 三次握手的第三个报文的数据发送给服务器;
  4、服务器对浏览器请求作出响应,并把对应的 html 文本发送给浏览器;
  5、释放 TCP 连接;
  6、浏览器将该 html 文本并显示内容;

Http request的几种类型。
GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT

Http1.1和Http1.0的区别
1,HTTP/1.0协议使用非持久连接,即在非持久连接下,一个tcp连接只传输一个Web对象;
2,HTTP/1.1默认使用持久连接(然而,HTTP/1.1协议的客户机和服务器可以配置成使用非持久连接)。

长连接的优缺点:
优点:可以省去较多的TCP建立和关闭的操作,减少浪费,节约时间。
缺点:可能会有一些恶意链接。(限制每个客户端的最大长连接数)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值