http协议

本文详细介绍了HTTP请求的步骤,从客户端建立TCP连接到服务器解析请求并返回响应,再到TCP连接的释放。同时,解释了URL的组成,包括协议、服务器、端口、路径、查询等元素。在浏览器中输入URL时,会经历DNS解析、TCP连接建立、发送HTTP请求、接收响应和释放连接的过程。此外,还讨论了HTTP默认端口和Keep-alive模式在连接管理中的作用。

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

http请求/响应步骤:

  1. http客户端发送请求,与web服务端的http默认端口80建立TCP套接字连接
  2. 通过tcp套接字连接,客户端向服务器发送请求,分为请求行,请求头,空行,请求数据四部分
  3. 服务器解析请求,将响应由tcp连接返回给客户端,响应分为状态行,响应头,空行,响应数据四部分
  4. 释放tcp连接,根据connection的模式来释放,若为close模式则返回响应后服务端主动关闭tcp连接,若为keepalive模式则连接会保持一段时间,期间内可以持续访问
  5. 客户端解析html内容,
    1.首先分析状态行判断请求是否成功
    2.分析响应头,响应头告知以下为若干字节的HTML文档和文档的字符集
    3.客户端分析响应数据,根据HTML的语法对其进行格式化,并显示在客户端窗口界面"

在浏览器中输入URL,会经历什么流程

1.浏览器向DNS服务器发送请求,解析域名对应的ip地址
2.根据ip地址和服务器建立tcp连接
3.浏览器向服务器发送请求,(发出读取文件的HTTP请求,请求作为TCP三次握手的第三个报文的数据发送给服务器)
4.服务器根据请求作出响应,并将对应所需的html文本发送给浏览器
5.释放tcp连接
6.浏览器接收html文本,显示在浏览器窗口

超文本传输协议(HTTP)的统一资源定位符将从因特网获取信息的五个基本元素包括在一个简单的地址中:

	传送协议。
	层级URL标记符号(为[//],固定不变)
	访问资源需要的凭证信息(可省略)
	服务器。(通常为域名,有时为IP地址)
	端口号。(以数字方式表示,若为HTTP的默认值“:80”可省略)
	路径。(以“/”字符区别路径中的每一个目录名称)
	查询。(GET模式的窗体参数,以“?”字符为起点,每个参数以“&”隔开,再以“=”分开参数名称与数据,通常以UTF8的URL编码,避开字符冲突的问题)
	片段。以“#”字符为起点
	以http://www.luffycity.com:80/news/index.html?id=250&page=1 为例, 其中:
	http,是协议;
	www.luffycity.com,是服务器;
	80,是服务器上的网络端口号;
	/news/index.html,是路径;
	?id=250&page=1,是查询。

大多数网页浏览器不要求用户输入网页中“http://”的部分,因为绝大多数网页内容是超文本传输协议文件。同样,“80”是超文本传输协议文件的常用端口号,因此一般也不必写明。一般来说用户只要键入统一资源定位符的一部分(www.luffycity.com:80/news/index.html?id=250&page=1)就可以了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值