1.DNS域名解析
解析顺序:
1)搜索浏览器本地的DNS缓存
2)搜索内存中的DNS缓存
3)搜索操作系统的host文件中的本地缓存
#window路径:C:\Windows\System32\drivers\etc\hosts
4)递归查询域名服务器
2.三次握手
建立TCP连接
(三次握手的详细过程请戳-->TCP协议中的三次握手详解)
3.http请求
报文头部结构如下图:
http报文请求方法:
GET: 从服务器获取一个资源
HEAD: 只从服务器获取文档的响应首部
POST: 向服务器输入数据,通常会再由网关程序继续处理
PUT: 将请求的主体部分存储在服务器中,如上传文件
DELETE: 请求删除服务器上指定的文档
TRACE:追踪请求到达服务器中间经过的代理服务器
OPTIONS:请求服务器返回对指定资源支持使用的请求方法
CONNECT:建立一个到由目标资源标识的服务器的隧道
PATCH:用于对资源应用部分修改
4.http响应
报文头部结构如下图:
一次完整的http处理请求的过程:
1、建立连接:接收或拒绝连接请求
2、接收请求:接收客户端请求报文中对某资源的一次请求的过程 Web访问响应模型(Web I/O)
#四种Web I/O模型图如下:
1)单进程I/O模型:启动一个进程处理用户请求,而且一次只处理一个,多个请求被串行响应
2)多进程I/O模型:并行启动多个进程,每个进程响应一个连接请求
3)复用I/O结构:启动一个进程,同时响应N个连接请求
4)复用的多进程I/O模型:启动M个进程,每个进程响应N个连接请求,同时接收M*N个请求
3.处理请求:服务器对请求报文进行解析,并获取请求的资源及请求方法等相关信息,根据方法,资 源,首部和可选的主体部分对请求进行处理
常用请求Method: GET、POST、HEAD、PUT、DELETE、TRACE、OPTIONS
4.访问资源: 服务器获取请求报文中请求的资源web服务器,即存放了web资源的服务器,负责向请求者提供对方 请求的静态资源,或动态运行后生成的资源
5.构建响应报文: 一旦Web服务器识别除了资源,就执行请求方法中描述的动作,并返回响应报文。响应报文中 包含 有响应状态码、响应首部,如果生成了响应主体的话,还包括响应主体
1)响应实体:如果事务处理产生了响应主体,就将内容放在响应报文中回送过去。响应报文中通常包 括: 描述了响应主体MIME类型的Content-Type首部 描述了响应主体长度的Content-Length 实际报文的主体内容
2)URL重定向:web服务构建的响应并非客户端请求的资源,而是资源另外一个访问路径
3)MIME类型: Web服务器要负责确定响应主体的MIME类型。多种配置服务器的方法可将MIME类型 与资源管理起来
6.发送响应报文
7.记录日志 最后,当事务结束时,Web服务器会在日志文件中添加一个条目,来描述已执行的事务
5.四次挥手
断开TCP连接
(四次挥手的详细过程请戳-->TCP协议中的四次挥手详解)