HTTP基础原理
响应报文头
[root@k8s-node2 ~]# curl -I 127.0.0.1:8080
HTTP/1.1 200 OK --------#请求的响应码状态码
Server: nginx/1.16.1 --------#web服务信息和软件版本
Date: Tue, 04 Aug 2020 04:09:24 GMT --------#请求的时间
Content-Type: text/html --------#请求内容的类型
Content-Length: 14529 --------#请求主体长度
Last-Modified: Mon, 03 Aug 2020 03:57:18 GMT -----#内容最后修改日期
Connection: keep-alive --------#连接类型为 长连接
ETag: "5f278b1e-38c1" --------#ETag是一个可以与Web资源关联的记号(token)tag主要在断点下载时比较有用。
Accept-Ranges: bytes --------#是用来告知客户端服务器是否能处理范围请求,以指定获取服务器某个部分资源。
--------# 如果是 Accept-Ranges: none 则说明不能进行范围请求处理
响应状态码
http协议1.1版本中状态码可以分为5类
状态码范围 | 作用描述 |
---|---|
100-199 | 用于指定客户端的某些动作 |
200-299 | 用于表示成功的请求 |
300-399 | 用于已经移动的文件,并常被包含在定位头部信息中的指定新的地址信息 |
400-499 | 用于指出客户端的错误 |
500-599 | 用于指出服务器端的错误 |
详细描述:
状态码 | 详细描述说明 |
---|---|
200 - ok | 服务器成功返回网页,这是成功的http请求返回的标准状态码 |
301 - 永久跳转 Moved Permanently 302 - 临时跳转 |
永久或临时的将请求的页面跳转到被指定的新位置中 如: 从baidu.com跳转到www.baidu.com |
403 - Forbidden | 禁止访问,虽然请求合法,但是服务器匹配了预先设置的规则,拒绝了客户端的请求,此类问题一般都是服务器配置权限不当所致。 |
404 - Not Found | 找不到请求的指定页面,可能是客户端请求了服务器上不存在的资源 |
500 - internal server error | 内部服务器错误,服务器遇到了意料不到的情况,无法完成客户端的请求 这一般是服务器内部配置错误导致的,比如selinux开启了 没有允许http |
502 - Bad Gateway | 网关错误,一般是代理服务器请求后端时,后端不可用,或者没有响应服务器。 |
503 - service unavailable | 服务器当前不可用,可能是服务器超载或者停机维护,也可能时代理服务器后面没有可以提供服务的节点 |
504 - gateway timeout | 网关超时,一般是网关代理服务器请求后端服务器,后端服务器没有在特定时间内返回数据导致的。 |
http资源
http资源分为 静态资源 和动态资源
静态资源为纯文本类如 html页面,文档 图片 流媒体等
动态资源 动态资源大多数都需要数据库得支持,扩展名以 .asp .aspx .php .js .do .cgi等
伪静态资源 从URL地址来看,伪静态表面看起来是静态网页内容,后缀以.html结尾,但这其实是通过rewrite重写的。有利于搜索引擎收录
pv uv
uv : 独立访客,同一个客户端一天内访问多次,只被记录为一个uv
pv : 按照访问次数,每一次访问都是一个pv
cookie
根据用户信息,为用户设定一个身份标识,(保存在本地),作为验证得钥匙
session
记录用户信息,用户情况,他保存在服务器,类似为一把锁
并发连接
网站服务器在单位时间内能够处理的最大连接数
统计并发方法:
netstat -ant|grep -i "est"
或者
netstat -an|grep -i "est"|wc -l
统计网站的UV PV 独立IP 方法
统计独立IP:
cat /application/nginx/logs/access_81.log | awk '{print $1}'|sort | uniq -c|wc -l
统计pv:
grep "/index.html" /var/log/nginx/access.log –c
统计UV:
cat /application/nginx/logs/access_81.log | cut -d " " -f 1|uniq -c|wc -l