一、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. Delphi XE2 之 FireMonkey 入门(22) - 数据绑定: BindingSource、BindingName、FindBinding()、Binding[]

    在窗体上添加 TrackBar1.Edit1.Label1, 然后设置属性(可在设计时): procedure TForm1.FormCreate(Sender: TObject); begin   ...

  2. docker进阶——数据管理与网络

    一.数据卷管理 用户在使用 Docker 的过程中,势必需要查看容器内应用产生的数据,或者 需要将容器内数据进行备份,甚至多个容器之间进行数据共享,这必然会涉及 到容器的数据管理 (1)Data Vo ...

  3. python批量下载验证码,用来做验证码处理

    刚学到爬虫识别验证码,所以自己建一个获取验证码的类,感兴趣的道友,可以看看,代码如下: import requests import time import os import re class Pi ...

  4. elementUi--->实现上传图片效果(upload+formData)

    现在谈一下elelmentui中使用Upload 上传通过点击或者拖拽上传文件(图片) <el-upload name="multfile"    //上传的文件字段名 cl ...

  5. 2019寒假作业一:PTA7-1 打印沙漏

    - 打印沙漏 ( 分) 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个“*”,要求按下列格式打印 ***** *** * *** ***** 所谓“沙漏形状”,是指每行输出奇数个符号: ...

  6. (136)leetcode刷题Python笔记——只出现一次的数字

    题目如下: 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次.找出那个只出现了一次的元素. 说明: 你的算法应该具有线性时间复杂度. 你可以不使用额外空间来实现吗? 示例 1: ...

  7. mybatis加载配置文件详解

    spring整合Mybatis后,SqlSessionFactory的创建由spring进行了代理,以下是SqlSessionFactory创建的流程 SqlSessionFactoryBean: p ...

  8. Java学习day9面向对象编程2-方法的可变个数的参数和方法的参数传递

    一.方法的可变个数的参数. 问题:我们能够打印的信息都是来源于方法的参数,也就是形参的传递.那如何要给方法传递不同的参数? .1.采用数组形参来定义方法 public static void test ...

  9. framebuffer设备驱动分析

    一.设备驱动相关文件 1.1. 驱动框架相关文件 1.1.1. drivers/video/fbmem.c a. 创建graphics类.注册FB的字符设备驱动 fbmem_init(void) { ...

  10. 一些WinAPI 处理 字符的函数和连接(GetACP和SetThreadLocale最重要,还有SetConsoleCP)

    虽然东西都是现成的.但是也要脑子里有个概念. // 地区与语言GetACP 取得 ANSI code page,法语XP+设置中文内核 = 936 // ShowMessage(IntToStr(Ge ...