客户需求的转变
从C/S架构往B/S架构迁移。
B/S架构特性:
- 客户端使用统一浏览器
- 服务端基于统一的HTTP协议
HTTP请求过程:
从用户浏览器输入搜索关键词开始,页面请求先读取CSS、JS、图片、Cookie等局部缓存,没有缓存的请求则通过域名地址去DNS域名服务查找对应的IP地址,再去服务器获取资源。
一部分静态资源文件可能来自CDN的内容缓存文件,另一部分动态数据来自服务端系统(可能是一个负载均衡入口地址)。
服务端是业务逻辑代码和Web服务器组成,开发语言有PHP、JAVA、NodeJS等,Web服务器可能是Apache、Tomcat、Jetty,Nginx也算一个吧。
数据的来源可能来自数据库(Myql、Oracle、Mpp等)和分布式缓存系统(Redis等)。
HTTP协议
简单说,Http协议分为三部分:请求头、请求体、状态码。
请求头:
请求头是将客户端的信息传递给服务端。
- Accept-Charset 字符集
- Accept-Encoding 压缩编码
- Accept-Language 资源所用语言
- Host 主机和端口号
- User-Agent 客户端将它的操作系统、浏览器和其他属性告诉服务端
- Connection 保持连接
- Cache-Control 缓存控制
响应头:
服务端根据请求头的参数进行处理后返回的内容。
- Server 使用的服务器名称
- Content-Type 用来知名发送给接受者的实体正文的媒体类型
- Content-Encoding 压缩编码
- Content-Language 资源所用语言
- Content-Length 实体正文长度
- Keep-Alive 保持连接时间
状态码:
200客户端请求成功,302临时跳转,403服务端受到请求但是拒绝提供服务,404请求资源不存在等等。