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	请求服务器将指定的页面移至另一个网络

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个cookie

session 存放在服务器的内存中
		数据放在服务器上
		较安全
		会在一定时间内保存在服务器上,当访问量增多,会比较占用服务性能

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 | grep  80
netstat -lnupt| grep  80

网站并发统计计算方法

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

你可能感兴趣的:(web集群)