图解HTTP请求过程

一、客户端发送URL请求

url格式

1. URL格式
2. URL请求

url请求

1)浏览器向网站所在的服务器发送了一个 Request(请求)

2)网站服务器接收到这个Request 之后进行处理和解析,然后返回对应的一个Response(响应)给浏

请求方法说明
GET向服务器特定的资源发出请求 , 一般用于==获取/查询==资源信息 。GET方法要求服务器将URL定位的资源放在响应报文的数据部分,回送给客户端,一般不包含”请求内容”部分,请求数据以地址的形式表现在请求行。
HEAD和GET类似,只不过服务端接受到HEAD请求后==只返回响应头==,而不会发送响应内容。当我们只需要查看某个页面的状态的时候,使用HEAD是非常高效的,因为在传输的过程中省去了页面内容。
POST向服务器的指定资源==提交数据进行处理==请求 (比如,登录验证,提交数据等),数据存储位置由服务器决定
PUT向服务器指定资源位置上传数据, PUT通常指定了资源的存放位置
DELETE请求服务器删除Request-URI所标识的资源
状态码说明
200客户端请求成功
302临时跳转,跳转地址在响应报文中通过Location来指定
400客户端请求语法错误,服务器无法识别
401请求未经授权(需要认证)
403服务器收到请求,但被拒绝(资源权限问题)
404请求的资源不存在
500服务器内部错误

二、DNS域名解析

02dns解析

三、生成HTTP请求报文

根据TCP/IP协议簇的四层模型,http协议位于应用层,决定client到server的通讯内容及方式。

03生成http报文

四、TCP三次握手建立连接

根据TCP/IP协议簇的四层模型,tcp协议(Transmission Control Protocol,传输控制协议) 位于传输层,提供数据的安全可靠传输。

04_tcp协议三次握手

五、数据通过网络进行传输

根据TCP/IP协议簇的四层模型,ip网际协议(Internet Protocol)位于网络层,主要作用实现数据包快速传递到对方计算机IP地址,而IP间的通信依赖于MAC 地址(网卡的固定地址),所以需要再通过ARP 协议根据通信方的 IP 地址反查出对应的MAC 地址(反之是RARP协议)。

ARP协议以广播的形式发送以太网数据帧给以太网上的每个主机 ,请求数据帧中包含目的主机的 I P地址。如果自己和目标主机在同一个网络,那目标主机收到APR包后会将自己的MAC地址发送给对方;如果自己和目标主机不在同一个网络,那么连接这两个网络的路由器就可以回答该请求。

05数据传送

六、服务器收到后解析请求报文并响应

服务器收到客户端的http请求后,进行处理响应,然后再以TCP/IP协议返回给客户端。

06web服务器处理请求

七、HTTP请求总图

http协议请求总图