一、概述

WEB访问是日常中访问占比比较高的使用,不管是PC或者手机去直接访问网站,还是通过APP封装的WEB网站,这些都极大的丰富了我们的互联网生活。下面就对HTTP的一些内容做些简要总结。

二、PV、UV和QPS的介绍

PV、UV、QPS和TPS在日常的网站的运维和优化中用的非常多术语。 PV(Page View)这个表明一个页面访问。 UV(Unique Vistor)表示一个独立的访问用户 QPS(Query Per Second)表示每秒的请求数 他们的关系是:在单位时间时间内,例如一个小时 PV = 1个小时内的单页面访问总量 QPS = PV * 访问衍生请求 / 3600 UV = 通过对用户标识去重得到

三、HTTP的请求过程

HTTP作为一个可靠的协议是通过TCP来实现,那么它必然需要通过3次握手建立连接和4次挥手断开连接。 一个完整的http请求过程可分为以下几个部分: 浏览器发起请求-> 解析域名得到ip进行TCP连接 ->浏览器发送HTTP请求和头信息发送->服务器对浏览器进行应答,响应头信息和浏览器所需的内容-> 关闭TCP连接或保持-> 浏览器得到数据数据进行操作。

四、http状态码总结

HTTP状态码的英文为HTTP Status Code,当用户在浏览网页的时候,用户的浏览器就会向网页所在服务器发出请求,并且在浏览器接收请求之前,网页的服务器会返回一个HTTP状态码的信息头用以响应浏览器的请求。 分类如下: HTTP状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字没有分类的作用。HTTP状态码共分为5种类型:

分类 分类描述
1** 信息,服务器收到请求,需要请求者继续执行操作
2** 成功,操作被成功接收并处理
3** 重定向,需要进一步的操作以完成请求
4** 客户端错误,请求包含语法错误或无法完成请求
5** 服务器错误,服务器在处理请求的过程中发生了错误

常见的响应码:200(正常)、301(永久重定向)、302(临时重定向)、400(语义有误)、403(权限被拒绝)、404(未发现页面)、500(服务器出现错误)

五、通过HTTPD实现虚拟主机

1、安装httpd软件

dnf install -y httpd

image.png

2、创建虚拟主机配置文件

cd /etc/httpd/conf.d/

[root@localhost conf.d]# cat a.com.conf 
<VirtualHost *:80>
ServerName www.a.com
DocumentRoot /data/a.com
ErrorLog /data/a.com.error
CustomLog /data/a.com.access.log combined
<Directory /data/a.com>
require all granted
</Directory>
</VirtualHost>
[root@localhost conf.d]# cat b.com.conf 
<VirtualHost *:80>
ServerName www.b.com
DocumentRoot "/data/b.com"
ErrorLog /data/b.com.error
CustomLog /data/b.com.access.log combined
<Directory /data/b.com>
require all granted
</Directory>
</VirtualHost>

3、创建网站目录

[root@localhost ~]# mkdir -pv /data/{a,b}.com
mkdir: created directory '/data/a.com'
mkdir: created directory '/data/b.com'

创建网站实例文件

[root@localhost ~]# echo a.com > /data/a.com/index.html
[root@localhost ~]# echo b.com > /data/b.com/index.html
[root@localhost ~]# chown -R apache.apache /data

4、启动WEB服务

[root@localhost ~]# systemctl start httpd

在测试主机hosts文件中添加解析记录 image.png 测试访问 image.png

5、查看web访问日志

访问www.a.com的日志 image.png 访问www.b.com的日志 image.png

六、总结

通过以上的实验和理论总结,可以对http的工作流程得到了理解和实现。