一、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. 基于modelforms组件实现注册功能

    数据库部分 使用的是auth_user表,添加r_pwd字段后表名变为UserInfo from django.db import models from django.contrib.auth.mo ...

  2. 在window 10查看一下指定命令行工具所在的位置

    很久之前安装过node,现在想要给node升级,通过where命令查看一下node的安装位置

  3. 搭建spring项目,无法创建RequestMappingHandlerMapping异常

    异常详情: Error creating bean with name 'org.springframework.web.servlet.mvc.method.annotation.RequestMa ...

  4. android dialog,popupwindow,toast窗口的添加机制

    Dialog 窗口添加机制 代码示例 首先举两个例子: 例子1 在Activity中 @OnClick(R.id.but) void onClick() { Log.d("LiaBin&qu ...

  5. Java 基础-异常处理

    在 Java 中声明了很多异常类,每个异常类都表示一种运行错误.程序运行过程中发生一个可识别的运行错误时(可以找到与错误匹配的异常类,例如被除数为 0 时会触发 java.lang.Arithmeti ...

  6. Python文件读写基本操作

    https://www.jianshu.com/p/eab35af27e1c 1.打开文件操作 方法一: f = open('/mypy/test.txt') print f # 输出:<ope ...

  7. TCP通信 - 服务器开启多线程与read()导致服务器阻塞问题

    TCP通信的文件上传案例 本地流:客户端和服务器和本地硬盘进行读写,需要使用自己创建的字节流 网络流:客户端和服务器之间读写,必须使用Socket中提供的字节流对象 客户端工作:读取本地文件,上传到服 ...

  8. Git-第N篇碰见的一些问题

    1.关于windows平台自动换行问题 warning: LF will be replaced by CRLF in readme.txt. The file will have its origi ...

  9. 对PInvoke函数函数调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。

    C#引入外部非托管类库时,有时候会出现“对PInvoke函数调用导致堆栈不对称.原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配”的报错. 通常在DllImport标签内加入属性Call ...

  10. 面试题思考:Stack和Heap的区别 栈和堆的区别

    堆栈的概念: 堆栈是两种数据结构.堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除.在单片机应用中,堆栈是个特殊的存储区,主要功能是暂时存放数据和地址,通常 ...