HTTP:超文本传输协议
1、TCP协议与HTTP协议
TCP协议主要用于数据传输控制
HTTP协议主要应用于应用层面的数据交互
http协议属于应用层协议,是建立在tcp协议基础之上,http协议以客户端请求和服务器端应答为标准。
客户端打开任意一个端口向服务器端指定端口发起http请求,首先会发起tcp三次握手,tcp三次握手的目的是建立可靠的数据连接通道,tcp三次握手通道建立完毕,进行http数据交互
2、http返回状态码
200 成功
301 永久重定向(redirect)
302,307 临时重定向
304 浏览器缓存
403 请求不到首页,权限被拒绝
404 资源找不到
500 服务器内部错误,程序代码错误
502 找不到后端的资源
504 请求超时
3、HTTP request 与 response 详解
客户端向web服务器发起request,web服务器接到request后进行处理,会生成相应的response的信息返回给客户端,客户端收到服务端返回的response的信息,会对信息进行解析处理,最终用户看到客户端网页内容
客户端发起request,request消息分为3个部分,分别包括request line,request header, body
request
[root@web01 ~]# curl -v http://192.168.1.67:8080/index.html * About to connect() to 192.168.1.67 port 8080 (#0) * Trying 192.168.1.67... * Connected to 192.168.1.67 (192.168.1.67) port 8080 (#0) > GET /index.html HTTP/1.1 > User-Agent: curl/7.29.0 > Host: 192.168.1.67:8080 > Accept: */* >
response
< HTTP/1.1 200 OK < Date: Wed, 25 Nov 2020 08:44:25 GMT < Server: Apache/2.4.6 (CentOS) < Last-Modified: Wed, 25 Nov 2020 05:41:54 GMT < ETag: "6-5b4e7e281db3c" < Accept-Ranges: bytes < Content-Length: 6 < Content-Type: text/html; charset=UTF-8 < hello
4、HTTP相关术语
pv:页面浏览量
uv:独立客户
IP:独立IP
5、用户访问网站
五层架构模型 CDN层-->负载层-->WEB层-->存储层-->缓存层-->数据库层
每一层都有对应的缓存机制
用户访问网页的过程
http工作原理:
1)用户打开浏览器-->输入url
2) 浏览器缓存
3)通过DNS解析url对应的IP地址
4)通过IP地址向web服务器发送tcp连接请求
网络设备(交换机,路由器),转发数据
网站所在平台的私网防火墙,访问控制
负载均衡调度器,实际上是和调度器建立三次握手后,将http请求发给调度器
5)调度器将http请求发给web服务器
6)http的工作原理
7)http服务器响应数据过程
静态
nfs
动态
mysql
redis
8)返回数据 数据库-->redis-->web-->LB-->network-->浏览器