网站页面访问流程
- 客户端 在浏览器输入网址信息
- 客户端 完成域名解析过程(DNS)
- 客户端 直接访问相应的网站服务器 建立TCP三次握手
- 客户端 访问网站服务器 发送HTTP请求报文 多次
- 服务端 响应客户请求 回复HTPP响应报文 多次
- 客户端 浏览器看到网站页面
- 客户端 结束访问网站过程 TCP四次挥手
HTTP协议请求和响应报文
HTTP协议简介
HTTP,中文名超文本传输协议,超文本就是有超链接的文本。
HTTP的请求报文
- 请求行信息:
- 请求方法:Get、post
Get:读/看 post:写/提交 - 请求信息:index.html(首页文件)
- 请求协议:一般是http1.1或是2.0
http1.0:TCP短链接,每次访问都需要经历三次握手和四次断开 http1.1:TCP长链接,当建立TCP三次握手后,只要访问就不会断开,直到没有访问信息,过一段时间后四次断开 http2.0:TCP长链接优化,提高用户并发访问的效率 - 请求头信息
客户端有关介绍说明 - 空行
隔离上下文,说明请求头结束 - 请求主体
使用get方法时,没有请求主体信息 使用post方法时,有请求主体内容
HTTP的响应报文
- 起始行
状态码信息:访问请求时成功响应/失败、
- 200:访问成功。
- 301/302:永久跳转。
- 403:禁止访问。
- 404:服务器找不到客户端指定的页面。
- 500:内部服务错误,服务器遇到了意料不到的情况,不能完成客户的请求一般是服务器的设置或内部程序问题导致。
- 502:坏的网关,一般是代理服务器请求后端服务时,后端服务不可用或没有完成响应网关服务器。这通常为反向代理服务器下面的节点出问题所致,反向代理服务器无法与后面的web服务节点服务器建立联系。
- 503:服务当前不可用,可能是服务器超载或停机维护导致。或者是反向代理服务器后面没有可以提供的服务节点。
- 504:网关超时,一般是网关代理服务器请求后端服务时,后端服务没有在特定的时间内完成处理请求。多数时服务器过载导致没有在指定的时间内返回数据给前端代理服务器。
- 响应头部
- 空行
- 响应主体
HTTP协议资源信息
URL和URI的概念
URL:统一资源定位符 URI:统一资源标识符 docs.ansible.com / ansible/latest/installation_guide/intro_installation.html docs.ansible.com:URL ansible/latest/installation_guide/intro_installation.html:URI
静态资源和动态资源
- 静态资源
需要什么给什么 - 动态资源
要什么信息,需要进行查询数据库进行解析后发送给客户端 接收用户请求,需要让动态服务和数据库服务进行处理 伪静态资源(动态页面) 可以便于搜索引擎进行收录 有数据库服务支持,实现网页交互功能
评测网站好坏的指标
- IP:根据用户IP地址数量进行统计
局域网多个用户访问:网站服务器只记录一个IP访问(NAT技术) 家里宽带重新拨号:会显示多个IP访问,实际是同一个访问 - PV:页面访问量
参考值 - UV:记录独立访客数量
cookie:标识用户身份信息,会保存在用户本地客户端本地 session:记录用户的一些会话操作,记录用户登录信息,记录在服务端 都将信息保存在内存中 - 网站的并发:(压测技术)
网站服务器在单位时间内能够处理的最大连接数
|