1 简述用户访网站流程
b 进行与网站垺务器建立连接tcp三次握手过程
d 和网站服务器数据传输过程(http协议原理过程-http响应过程)
e 进行与网站服务器断开连接,tcp四次挥手过程
请求的頭部信息(客户端有关信息说明) |
空行信息(隔离上下文说明请求结束) |
请求主体内容(只有POST 方法可以提交主体) |
① 请求头信息说明
接受请求的服务器地址,可以是IP:端口号也可以是域名 |
发送请求的应用程序名称 |
通知服务端可以发送的编码格式 |
通知服务端可以发送的数据壓缩格式 |
响应的头部信息(服务器有关信息介绍) |
空行信息(隔离上下文,说明响应头部结束) |
响应主体的内容(请求后进行响应的返回嘚内容 信息) |
① 响应头信息说明
服务器应用程序软件的名称和版本 |
响应正文的类型(是图片还是二进制字符串) |
响应正文使用的数据压缩格式 |
HTTP状态码(HTTP Status Code )是用来表示Web服务器响应HTTP请求状态的数字代码每当Web客户端向Web服务器发送一个HTTP请求时,Web服务器都会返回一个状态响应代码这個状态码是一个三位数字代码,作用是告知Web客户端此次请求是否成功或者是否要采取其他的动作方式。
说明:nginx软件识别url和uri的方式和上面說明一致
伪静态网页资源
|grep "/在页面curl时会出现利用百度进行统计PV IP信息
利用第三方公认的统计工具进行统计,例如:百度统计工具
5 网站并发连接说明
5.1 如何理解网站并发的概念
A种理解:网站服务器每秒能够接收的最大用户请求数
B种理解:网站服务器每秒能够响应的最大用户请求數。
C种理解:网站服务器在单位时间内能够处理的最大连接数(推荐)
5.2 网站并发概念举例说明
饭店吃饭/酒店住宿举例
我们去餐馆吃饭,餐馆里一共有10张卓每张桌最多坐4个人同时吃饭,那么按一般人的理解这个餐馆能够接收的并发吃饭人数为10M ,即40个并发,其实这里就没有栲虑时间问题1秒并发可以是40个,10分钟内并发也是40个因为这里还有一个因素,就是每个人吃饭时长的问题如果平均每个人10分钟吃完,那么可以说10分钟内这个餐馆的并发为40个,而不是每秒钟并发40个因为,第一秒可以是40个人同时进来但是第二秒就无人可进了(满员了),如果说10分钟并发是40个下一个10分钟还是40个,第三个10分钟还可以是40个即网站服务器在单位时间内能够处理的最大连接数。
高速公路每個方向都有两条车道那么,同一时刻并发的车辆为两辆并且并发可以永远为2 ,如果按秒计算,每秒的并发可能就有十几辆这个例子和餐馆不同,因为高速路处理并发不需要处理时间但是对于Web服务器来讲,是需要花费时间处理请求的这个请求可能是1秒或数秒,因此说并发不应该只是用户访问的请求数,而应是服务器同时处理的并发数并且单位时间不一定是1秒,可能是一个连接处理周期内的连接数
5.3 网站并发统计计算方法
例如:某网站的并发是5000。意味着单位时间内(理解为1秒或数秒内)正在处理的连接数,正在建立的连接数加起来一共是5000个。
下面是国外学者对网站并发数的计算公式及参考说明:
1)请问你如何理解网站并发
2)你们公司网站访问量是多少?是怎么计算的
—定要理解IP、PV、并发量这3个点的知识,在回答时才能有的放矢这三个点的多少决定面试时说多大的架构,对于没有经验的新手不能在介绍有几万PV的同时描述数十台的集群架构这样就尴尬了。
关于网站访问指标的计算可以考虑:
开发在页面嵌入的JS程序(用于统计、收集、分析)。
运营市场通过第三方公司提供的工具进行统计例如GA统计。
所有的协议都是为软件提供服务的
利用HTTP协议的软件,称为www垺务软件或者web服务软件
Apache:这是中小型Web服务的主流Web服务器中的老大哥。
Nginx:大型网站Web服务的主流曾经Web服务器中的初生牛犊,现已长大
Lighttpd:這是一个不温不火的优秀Web软件,社区不活跃静态解析效率很高。
在Nginx流行前它是大并发静态业务的首选,
国内百度贴吧、豆瓣等众多网站都有Lighttpd奋斗的身影
② 动态解析web服务软件
PHP(FastCGI):大中小型网站都会使用,动态网页语言PHP程序的解析容器它可配合Apache解析动态程序,
不过這里的PHP不是FastCGI守护进程模式,而是mod_php5.so(module)也可配合Nginx解析动态程序,此时的PHP常用FastCGI守护进程模式提供服务
Tomcat:中小企业动态Web服务主流,互联网Java容器主流(如jsp、do)
Resin:大型动态Web服务主流,互联网Java容器主流(如jsp、do)