一、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}'

方法二:[root@web01 ~]# curl -s -w "%{http_code}\n" -o /dev/null www.baidu.com

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种理解:网站服务器在单位时间内能够处理的最大连接数。(理解网站并发连接数)

linux运维、架构之路-HTTP服务的更多相关文章

  1. linux运维架构师职业规划

    1.假如你从来未接触过Linux的话,首先要做的就找一本指导书来学习.现在公认的Linux的入门书籍是“鸟哥的私房菜”,讲的很全面,鸟哥的私房菜一共分为两部,一部是基础篇,一部是服务器篇.“鸟哥的私房 ...

  2. Linux运维五:定时任务crond服务

    一.crond简介 crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动cro ...

  3. 从苦逼到牛逼,详解Linux运维工程师的打怪升级之路

    做运维也快四年多了,就像游戏打怪升级,升级后知识体系和运维体系也相对变化挺大,学习了很多新的知识点. 运维工程师是从一个呆逼进化为苦逼再成长为牛逼的过程,前提在于你要能忍能干能拼,还要具有敏锐的嗅觉感 ...

  4. Linux运维企业架构实战系列

    Linux运维企业架构项目实战系列 项目实战1-LNMP的搭建.nginx的ssl加密.权限控制的实现 项目实战2-LVS.nginx实现负载均衡系列 2.1 项目实战2.1-实现基于LVS负载均衡集 ...

  5. Linux运维企业架构项目实战系列

    Linux运维企业架构项目实战系列 项目实战1—LNMP的搭建.nginx的ssl加密.权限控制的实现 项目实战2—LVS.nginx实现负载均衡系列2.1 项目实战2.1—实现基于LVS负载均衡集群 ...

  6. Linux 运维入门到跑路书单推荐

    一.基础入门 <鸟哥的Linux私房菜基础学习篇>:最具知名度的Linux入门书<鸟哥的Linux私房菜基础学习篇>,全面而详细地介绍了Linux操作系统. https://b ...

  7. Nginx+Lua+Redis整合实现高性能API接口 - 网站服务器 - LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区! - Powered by Discuz!

    Nginx+Lua+Redis整合实现高性能API接口 - 网站服务器 - LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区! - Powered by Disc ...

  8. 运维架构服务监控Open-Falcon

    一. 介绍 监控系统是整个运维环节,乃至整个产品生命周期中最重要的一环,事前及时预警发现故障,事后提供翔实的数据用于追查定位问题.监控系统作为一个成熟的运维产品,业界有很多开源的实现可供选择.当公司刚 ...

  9. Linux运维工程师成长必经之路

    本路线图是从0基础开始,全方位由浅入深,按照多年Linux培训经验和优秀教学方法制定的学习思路和学习方法,路线图包括初级入门.中级进阶.高级提升和资深冲刺四个阶段,每阶段对应着不同优秀的课程和学习方法 ...

  10. 转:linux运维工程师

    运维中关键技术点解剖:1 大量高并发网站的设计方案:2 高可靠.高可伸缩性网络架构设计:3 网站安全问题,如何避免被黑?4 南北互联问题,动态CDN解决方案:5 海量数据存储架构 一.什么是大型网站运 ...

随机推荐

  1. 让人失望透顶的 CSDN 博客改版

    前言 在 CSDN 写博已经 2 年有余,相比一些大佬,时间不算太长.但工作再忙,我也会保持每月产出,从未间断.每天上线回复评论,勘误内容,参加活动,看看阅读量已经成为一种习惯,可以说是 CSDN 博 ...

  2. 类Vector

    /* * Vector的特有功能 * * Vector出现较早,比集合更早出现 * * 1:添加功能 * public void addElement(Object obj);//用add()替代 * ...

  3. PHP 实现并发-进程控制 PCNTL

    参考 基于PCNTL的PHP并发编程 PCNTL 是 PHP 中的一组进程控制函数,可以用来 fork(创建)进程,传输控制信号等. 在PHP中,进程控制支持默认关闭.编译时通过 --enable-p ...

  4. JSP不支持EL表达式的解决方案

    EL的全称是Expression Language.1.在默认情况下,Servlet 2.3 / JSP 1.2是不支持EL表达式的,而Servlet 2.4 / JSP 2.0支持. servlet ...

  5. GIt 添加到远程

    转载:https://www.liaoxuefeng.com/wiki/896043488029600/898732864121440 添加到远程 1.注册/登录 GitHub(https://git ...

  6. 【ABAP系列】SAP ABAP WS_DELIVERY_UPDATE 修改数量、过账日期并发货过账

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP WS_DELI ...

  7. Java基础/利用fastjson反序列化json为对象和对象数组

    利用fastjson反序列化json为对象和对象数组 利用 fastjosn 将 .json文件 反序列化为 java.class 和 java.util.List fastjson 是一个性能很好的 ...

  8. [Git] 009 逆转未来

    1. 想逆转未来,得先知道时间线 1.1 git log 1.2 git log --oneline 此命令的显示结果比 git log 简洁 1.3 git reflog 此命令显示的记录比前两者完 ...

  9. JAVA总结--集合

    1.集合树状图 Collection:最基本的集合接口 ----List:有序集合,集合中的元素可以重复,访问集合中的元素可以根据元素的索引来访问 ----ArrayList:异步 ----Linke ...

  10. es6基本介绍及使用

    1.什么是es6 ECMAScript 6.0(以下简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了.它的目标,是使得JavaScript语言可以用来编写复杂的大型应 ...