web基础

 

HTTP的请求流程 

web服务器使用的就是如上的一种名为HTTP(HyperText  transfer  protocol,超文本传输协议)

完成客户端到服务端的一系列请求过程

TCP/IP协议

 

 protocol协议

 协议存在各种各样的形式,常见的协议 如下

icmp,internet  control  message protocol,用于在服务器之间,网络设备之间进行消息传递

dns协议,建立在UDP和TCP协议之上,默认使用服务器的53端口进行通信,进行域名解析

FTP协议,file transfer protocol,文件传输协议,主要是2部分client,server

nfs协议,rpc协议+nfs协议,运行网络共享文件系统

snmp协议,应用层协议,预先告警发现网络设备的问题

http协议,简单的请求--响应,运行在TCP/IP,协议之上,指定了客户端能够给服务器发送什么形式的请求

 

ip协议

internet protocol,把数据包发送到指定的目的地,这里最重要的是IP地址和MAC地址

ip地址,是指定了服务器在网络中的一个地址信息

MAC地址,是指服务器网卡硬件设备的设备号(机器在出厂的时候,会设置好全球唯一的MAC号)

IP和ARP的关系

把IP地址和MAC地址进行解析的一个协议

三次握手

 

 

Sync表示建立连接的信号

ack 确认消息

第一次握手:客户端发送了SYN=1  seq=x 这个x是一个随机数,服务端接收到了客户端发来的数据包,

知道自己要和客户端建立连接了

第二次握手:服务器给客户端发送一个SYN=1  seq=y 随机数,ACK=x+1,服务端发送前两个数据都是为了

证明自己的发消息的能力,服务端在客户端发出的seq随机数上+1是表示明确客户端身份,他两是同一个连接

 第三次握手:客户端再次向服务器发送一个ACK=y+1,明确告诉服务器,可以和客户端进行通信了

 HTTP请求与响应

1.客户端和服务器建立连接,客户端发出请求,服务器进行三次握手身份确认

2.服务器接收到请求,linux内核根据(客户端的请求)socket进程通信管道把发给http应用程序去解析(Apache,Nginx)

3.HTTP服务器开始处理请求,对用户的请求报文进行解析,明确客户端需要的资源和请求方式等等

4.HTTP在存储系统上,请求资源,内核去本地文件系统上读取数据

5.HTTP服务构造响应体,应用程序创建响应报文

6.linux内核发出http服务器构造的响应报文,发送客户端

7.HTTP服务器会进行事物记录,记录这个流程的日志

 

posted on 2021-07-12 16:09  sprr  阅读(39)  评论(0编辑  收藏  举报