web集群-web服务器的基础概念

Web服务基础 windows系统下hosts域名解析记录位置:

C:\Windows\System32\drivers\etc\hosts

在linux系统中查看报文的方法
方法一: curl -v域名#显示访问域名请求报文与响应报文信息 方法二: wget --debug域名> 表示http请求报文 < 表示http响应报文

响应http请求方法
GET客户端请求指定资源信息,服务器返回指定资源 HEAD 只请求响应报文中的HTTP首部 POST 讲课话短的数据提交到服务器 PUT用从客户端向服务器传送的数据取代指定的文档内容 DELETE 请求服务器删除Request_URI所表示的资源 MOVE 请求服务器将指定的页面移至另一个网络

【web集群-web服务器的基础概念】HTTP请求过程
[root@node1 ~]# curl -v www.baidu.com * About to connect() to www.baidu.com port 80 (#0) *Trying 110.242.68.3... * Connected to www.baidu.com (110.242.68.3) port 80 (#0) 指定与连接相关的属性 > GET / HTTP/1.1请求的起始行,请求什么信息;协议版本 > User-Agent: curl/7.29.0发送请求的应用程序名称 > Host: www.baidu.com接受请求的服务器地址,可以是IP:端口号或域名 > Accept: */ >空行隔离上下文,说明请求结束 < HTTP/1.1 200 OK响应的起始行(响应状态 状态码) < Accept-Ranges: bytes < Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform < Connection: keep-alive < Content-Length: 2381响应正文长度 < Content-Type: text/html响应正文的类型 < Date: Fri, 05 Feb 2021 02:07:27 GMT < Etag: "588604c1-94d" < Last-Modified: Mon, 23 Jan 2017 13:27:29 GMT < Pragma: no-cache < Server: bfe/1.0.8.18服务器应用程序软件的名称和版本 < Set-Cookie: BDORZ=27315; max-age=86400; domain=.baidu.com; path=/ <响应结束

HTTP 协议状态码
是用来表示web服务器响应HTTP请求状态的数字代码,每当web客户端向web服务器发送一个HTTP请求时,web服务器都会返回一个状态响应码,是一个三位数字,作用是告知web客户端此次请求是否成功,或是否要采取其他的动作方式。
不同范围的状态码及其对应的作用:
100-199用于指定客户端相应的某些动作 200-299用于表示请求成功 300-399用于已经移动的文件,并且常被包含在定位头信息中指定新的地址信息,用于重定向 400-499用于指出客户端的错误 500-599用于指出服务端的错误

常见状态码:
301请求的网页已永久跳转到新位置 302临时重定向 403服务端拒绝访问 404服务器找不到请求的页面 500内部服务器错误 502坏的网关,一般是网关服务器请求后端服务器时,后端服务设置没有按照http协议正确返回结果 503可能因为超载或停及维护 504一般是网关服务器请求后端服务器时,后端服务器没有在特定的时间内完成服务

提取状态码
[root@node1 ~]# curl -I -s -w "%{http_code}\n" -o /dev/null www.baidu.com 200

HTTP资源 媒体资源 MIME(多用途因特网邮件扩展),最初是为了解决在不同的电子邮件系统之间搬移报文时存在的问题,现在HTTP也支持,作用是用它来描述数据并标记不同的数据内容类型。
当Web服务器响应HTTP请求时,web服务器会把通过web传输的每个对象都打上MIME类型,当Web浏览器获取到服务器返回的对象时,会查看相关的MIME类型,并进行相关处理。
MIME类型存在于HTTP响应报文头部信息,是一种文本标记
MIME媒体资源
web服务器可以处理的资源类型,根据扩展名识别(html CSS mp4)
url/uri
URL:Uniform Resource Location统一资源定位符 URI:Unifrom Resource Identifier统一资源标识符 URN:Uniform Resource Name是URI的两种形式之一

QPS:每秒钟处理完请求的次数 TPS:每秒钟处理完的事务次数 RT:响应时间,处理一次请求所需要的平均处理时间 并发量:系统能同时处理的请求数QPS=并发量/平均响应时间

例:
网址: http://reg.jd.com/reg/person?ReturnUrl=https%3A//www.jd.com/ http://reg.jd.com--- 称为url /reg/person?ReturnUrl=https%3A//www.jd.com/--- 称为uri

网页资源种类
静态网页资源 动态网页资源 伪静态网页资源

1、静态网页资源
请求响应信息,发给客户端进行处理,由浏览器进行解析,显示的页面为静态页面
特征
1、处理文件类型:html,gif,jpg,mp4,swf,wmv,flv 2、地址中不含有“?”或“&”等特殊符号 3、保存在网站服务器文件系统上的,实在的文件实体 4、页内容是固定不变的,容易被搜索索引收录 5、网页页面交互相差,不能与数据库配合 6、网页程序在用户浏览器端解析,当客户端向服务器请求数据时,服务器会直接从磁盘文件系统上返回数据,不做任何解析

2、动态网页资源
请求响应信息,发给事务端进行处理,有服务端处理完成,将信息返回给客户端,生成的页面称动态页面
特征
1、处理文件类型:asp,aspx,php,js,do,cgi 2、网页页面交互性强,可以与数据库配合 3、地址中含有“?”或“&”特殊符号 4、不便于被搜索引擎收录

3、伪静态网页资源
将动态页面伪装成静态页面,便于被搜索引擎收录
特征
1、将动态页面转换成静态页面的方式(rewrite正则表达式)动态重定向 2、将动态页面内容转换为静态页面,去掉动态页面URI地址中的“?”,“&”字符,伪装成静态页面URI信息 3、开发进行配合动态转静态

网站流量度量术语 1、独立IP数
指不同IP地址的计算机访问网站时被计算的总次数 一个局域网内多个主机访问相同网站,独立IP数记为1次

2、页面浏览次数PV
页面浏览量或点击量

3、独立访客数UV
根据HTTP请求报文:浏览器版本 ,OS 根据HTTP相应报文:cookie(id)

4、cookie与session区别
cookie(id) 将服务端的信息保存到客户端 session将客户端信息保存到服务器

cookie 数据存放在客户的浏览器上 不是很安全,别人可以分析放在本地的cookie进行cookie欺骗 不占用服务端资源,提升服务器性能 保存的数据不能超过4k,很多浏览器限制一个站点最多保存20个cookiesession 存放在服务器的内存中 数据放在服务器上 较安全 会在一定时间内保存在服务器上,当访问量增多,会比较占用服务性能

IP PV UV统计度量的方法 PV统计度量方法
1、利用awk或者相应统计命令,进行分析访问日志信息进行统计 2、在网站访问页面中嵌入统计程序代码,只有全部页面加载完毕后,才进行数据统计 3、利用第三方公认的统计工具统计

UV统计度量方法
1、通过客户端HTTP请求报文分析 2、通过cookie信息鉴别统计

工作中常用的统计工具
网页信息统计软件--piwik pwiki统计工具:(https://piwik.org/) pwiki演示页面:https://piwik.org/demo ELK软件介绍说明 http://blog.oldboyedu.com/elk/ 百度统计工具hm.baidu.com

网站并发连接说明 如何理解网站并发的概念
1、网站服务器每秒能够接收的最大用户请求数 2、网站服务器每秒能够响应的最大用户请求数 3、网站服务在单位时间内能够处理的最大连接数

查看端口
ss -lnupt | grep80 netstat -lnupt| grep80

网站并发统计计算方法
netstat -an | grep -i ‘est’ | wc -1 ss ant | grep -ic est

统计公式说明
下面是国外学者对网站并发数的计算公式及参考说明: Request Per Second + Simultaneous Browser connections + Thinking Time = Concurrent User其中: Concurrent User表示网并发用户总数一 Request Per Second[RPS]表示每秒请求数(吞吐量) Simultaneous Browser connections[SBC] 表示并发浏览连接数。 Thinking Time表示平均用户思考时间。

web服务软件分类 1 静态解析web服务软件
Apache:这是中小型Web服务的主流,Web服务器中的老大哥。 Nginx: 大型网站Web服务的主流,曾经Web服务器中的初生牛犊,现已长大。 Nginx的分支Tengine(http://tengine.taobao.org/)目前也在飞速发展。 Lighttpd:这是一个不温不火的优秀Web软件,社区不活跃,静态解析效率很高。在Nginx流行前,它是大并发静态业务的首选,国内百度贴吧、豆瓣等众多网站都有Lighttpd奋斗的身影。

2 动态解析web服务软件
PHP(FastCGI):大中小型网站都会使用,动态网页语言PHP程序的解析容器。它可配合Apache解析动态程序,不过,这里的PHP不是FastCGI守护进程模式,而是mod_php5.so(module)。也可配合Nginx解析动态程序,此时的PHP常用FastCGI守护进程模式提供服务 Tomcat:中小企业动态Web服务主流,互联网Java容器主流(如jsp、do)。 Resin:大型动态Web服务主流,互联网Java容器主流(如jsp、do)。 IIS(Internet information services):微软windows下的Web服务软件(如asp、aspx)

web服务软件官方网站
apache:http://www.apache.org/ nginx: http://www.nginx.org/ Resin: http://www.caucho.com/download http://caucho.com/resin-3.1/doc/ http://caucho.com/resin/doc/install-apache.xtp Tomcat:http://tomcat.apache.org/whichversion.html http://tomcat.apache.org PHP: http://php.net

    推荐阅读