linux运维、架构之路-HTTP服务
一、HTTP协议
1、介绍
HTTP协议,全称HyperText Transfer Protocol,中文名为超文本传输协议,是互联网中最常用的一种网络协议。HTTP协议是互联网上常用的通信协议之一。它有很多的应用,但最流行的就是用于Web浏览器和Web服务器之间的通信,即WWW应用或称Web应用。www,全称World Wide Web,常称为Web,中文译为“万维网”。HTTP协议的WWW服务应用的默认端口为80,另外一个加密的WWW服务应用https的默认端口为443。
2、HTTP协议版本
HTTP/1.0 |
浏览器与服务器只保持短暂的连接(TCP短连接) |
HTTP/1.1. |
支持持久连接,在一个TCP连接上可以传送多个HTTP请求和响应,减少了建立和关闭连接的消耗和时间延迟。(TCP长连接) |
3、 DNS解析原理
4、HTTP协议原理过程
5、 HTTP常用请求方法
HTTP方法 |
作用描述 |
GET ***** |
客户端请求指定资源信息,服务器返回指定资源 |
HEAD |
只请求响应报文中的HTTP头部 |
POST ***** |
将客户端的数据提交到服务器,例如:注册表单 |
PUT |
用从客户端向服务器传送的数据取代指定的文档内容 |
DELETE |
请求服务器删除Reauest-URL所表示的资源 |
MOVE |
请求服务器指定的页面移至加一个网络地址 |
6、HTTP常见状态码
状态代码 |
详细描述说明 |
200 -OK |
服务器成功返回网页,成功的HTTP请求返回标准状态码 |
301 – Moved Permanetnly |
永久跳转,所请求的网页将永久跳转到被设定的新位置 |
302 – Moved Temporarily |
临时跳转,所请求的网页将临时跳转到被指定的新位置 |
403 – Forbidden |
禁止访问,虽然这个请求是合法的,但是服务器端因为匹配了预先设置的规则而拒绝响应客户端的请求,此类问题一般为服务器或服务权限配置不当所致 |
404 – Not Found |
服务器找不到客户端请求的页面,可能是客户端请求了服务器上不存在的资源所致 |
500 – internal Server Error |
内部服务器错误,服务器遇到了意料不到的情况,不能完成客户的请求,一般为服务器的设置或内部程序问题导致,例如:selinux开启,而又没为HTTP设置规则许可 |
502 – Bad Gateway ***** |
坏的网关,一般是代理服务器请求后端服务时,后端服务不可用或没有完成响应网关服务器,通常为反向代理服务器下面的节点出问题所致,反向代理服务器无法与web服务器建立联系 |
503 – Service Unavailable |
服务当前不可用,可能是服务器超载或停机维护导致,或者是反向代理服务器后面没有可以提供服务的节点 |
504 – Gateway Timeout |
网关超时,一般是网关代理服务器请求后端服务时,后端服务没有在特定的时间内完成处理请求,多数是服务器过载导致没有在指定的时间内返回数据给前端代理服务器 |
7、取状态码方法(提供数据给监控服务使用)
方法一:[root@web01 ~]# curl -I www.baidu.com -s|awk 'NR==1{print$2}' 200 方法二:[root@web01 ~]# curl -s -w "%{http_code}\n" -o /dev/null www.baidu.com 200
8、URL与URI概念
https://www.taobao.com/markets/3c/shuma?spm=a21bo.50862.201867-main.12.28689e73E6z0p9
URL |
URI |
全称为Uniform Resource Location,中文翻译为统一资源定位符 |
全称为Uniform Resource Identifier,中文翻译为统一资源标识符 |
https://www.taobao.com/#此为URL信息 |
markets/3c/shuma?spm=a21bo.50862.201867-main.12.28689e73E6z0p9#此为URI信息 |
9、网页资源种类
1、静态网页
①客户浏览器端解析程序,效率很高
② 扩展名格式对应程序文件的扩展名为:htm,html,xml,shtml,jpg等,js,css,swf,avi,wmv,flv视频格式
③ 后端没有数据库,和用户交互性差
2、动态网页
①网页扩展名后缀常见为:.asp、.aspx、.php、.js、.do、.cgi等
②网页一般以数据库技术为基础,大大降低了网站维护的工作量。
③采用动态网页技术的网站可以实现更多的功能,如用户注册、用户登录、在线调查、投票、用户管理、订单处理、发博文等。
④动态网页并不是独立存在于服务器上的网页文件,当用户请求服务器上的动态程序时,服务器解析这些程序并可能通过读取数据库来返回一个完整的网页内容。
⑤动态网页中的“?”在搜索引擎的收录方面存在一定的问题,搜索引擎一般不会从一个网站的数据库中访问全部网页,或者出于技术等方面的考虑,搜索蜘蛛一般不会去抓取网址中“?”后面的内 容,因此在企业通过搜索引擎进行推广时,需要针对采用动态网页的网站做一定的技术处理(伪静态技术),以便适应搜索引擎的抓取要求。
3、伪静态网页
将动态页面伪装成静态页面,便于被搜索引擎收录
10、网站流量度量
独立IP数 |
独立IP数是指不同IP地址的计算机访问网站时被计的总次数 |
PV |
网站页面浏览量或点击量 |
UV |
根据http请求报文:浏览器版本,OS 根据http响应报文:cookie(id) --- 将客户端数据保存到本地 session --- 将客户端数据保存到服务器端 |
11、IP PV UV 统计度量的方法
①IP统计度量的方法
利用awk或者相应统计命令,进行分析访问日志信息进行统计(重点)
在网站访问页面中嵌入统计程序代码(页面结尾处),只有全部网页加载完毕后,才进行数据统计
[root@m01 ~]# curl -s www.oldboyedu.com|grep "hm.baidu" --color <script type="text/javascript"> var _bdhmProtocol = (("https:" == document.location.protocol) ? " https://" : " http://"); document.write(unescape("%3Cscript src='" + _bdhmProtocol + "hm.baidu.com/h.js%3F9aa800f882f575237396648643111698' type='text/javascript'%3E%3C/script%3E")) </script>
②PV统计度量的方法
利用awk或者相应统计命令,进行分析访问日志信息进行统计
在网站访问页面中嵌入统计程序代码(页面结尾处),只有全部网页加载完毕后,才进行数据统计
[root@m01 ~]# curl -s www.oldboyedu.com|grep "hm.baidu" --color <script type="text/javascript"> var _bdhmProtocol = (("https:" == document.location.protocol) ? " https://" : " http://"); document.write(unescape("%3Cscript src='" + _bdhmProtocol + "hm.baidu.com/h.js%3F9aa800f882f575237396648643111698' type='text/javascript'%3E%3C/script%3E")) </script>
③UV统计度量的方法
通过客户端HTTP请求报文分析
通过Cookie信息鉴别统计
④工作中常用统计工具
网页信息统计软件-piwik
pwiki统计工具:(https://piwik.org/)
pwiki演示页面:https://piwik.org/demo
ELK软件介绍说明:http://blog.oldboyedu.com/elk/
⑤ 网站并发理解
A种理解:网站服务器每秒能够接收的最大用户请求数。
B种理解:网站服务器每秒能够响应的最大用户请求数。
C种理解:网站服务器在单位时间内能够处理的最大连接数。(理解网站并发连接数)