html请求响应的过程,http请求和响应全过程

作为一名以后想要走前端开发这条路的程序员,了解http协议和http的请求响应过程是很有必要的,这样你就会知道数据到底是如何正确的在服务器和浏览器之间传输的,下面是对自己最近学习http的一个总结。

一. http协议的大致内容

http(超文本传输协议)是用于客户端浏览器和web服务器之间传输信息的协议,它规定了一系列约定,以便信息可以在浏览器和服务器之间有效的传输。规定了URL的格式、浏览器发送请求都要发送哪些内容、服务器响应要返回哪些信息等。

(1)url格式:http://host[:post][abs_path]1http表示传输协议是http协议;

host表示的是主机域名或IP地址;

port指端口号;

abs_path指要请求的资源的路径。

(2)发送请求时所要发送的信息:请求行:请求方法+http协议版本+URL

请求头部:用键值对表示,如Accept-Charst:utf-8,指定客户端接收的字符集;

空行:通知请求头部结束;

请求数据:由数据头部信息和数据内容组成,数据头部规定了数据的类型、长度、编码等信息(post方法有请求数据,get方法不能发送请求数据)。

(3)响应后返回的数据信息:状态行:协议版本+状态码(如常见的404,500,200)+状态码文本描述;

响应头部:用键值对表示;

空行:表示响应头部结束;

响应数据:服务器返回的数据内容和数据头部信息(head请求无响应数据)。

二. http请求和响应的过程

(1)域名解析

首先,浏览器会对url地址进行解析,解析的过程如下:

1)浏览器缓存:首先在浏览器的DNS缓存中查找域名对应的IP地址;

2)系统缓存:如果浏览器没有找到需要的域名,则浏览器会做一个系统调用,在用户的主机的DNS中查找;

3)路由器缓存:如果用户主机中也没有找到需要的IP地址,会向路由器发送请求,在路由器的DNS中查找;

4)ISP缓存:如果以上的所有DNS中都没有找到,则会在ISP(互联网服务供应商)的DNS缓存中查找,一般这里都能找到,如果没有,则用户输入的域名错误。

(2)浏览器与Web服务器建立TCP/UDP连接

这是很关键的一步,http是建立在传输层的tcp/udp连接的基础之上的,这里就不多说了,本篇主要讲http的请求和响应。

(3)浏览器给Web服务器发送一个http请求

一旦传输层的连接建立成功,浏览器就可以发送请求了,请求的内容包括请求行、请求头部、空行、请求数据。

(4)服务器给浏览器响应

当请求发送后,服务器会给浏览器返回需要的信息,返回信息包括状态行、响应头部、空行、响应数据。

(5)释放连接

http1.0:非持久连接,即请求响应后立即断开;

http1.1:持久连接,响应成功后仍然在一段时间内保持这条连接。

(6)浏览器解析响应数据

浏览器解析响应数据后,数据就会呈现在浏览器中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值