用户访问网站原理过程:
1.进行NDS域名解析过程 本地解析 递归解析 迭代解析
2.建立tcp三次握手过程 三次握手
3.传递HTTP请求数据包 多个请求数据包 分析数据包 wreshark
4.传递HTTP响应数据包 多个数据响应包
5.利用浏览器解析收到的HTTP数据包内容,显示页面信息
6.进行tcp四次握手过程 四次挥手过程
HTTP协议报文结构信息
1)HTTP请求
报文结构
4个部分
请求行信息
GET / HTTP/1.1
① ② ③
① 请求网站方式 GET方式 获取信息(查看) POST方式 提交信息(传输)
② 请求网站数据信息 默认显示请求信息为/ 可以具体指定请求数据信息
③ 请求协议版本 HTTP1.1 HTTP1.0 HTTP2.0
HTTP1.0 利用TCP协议短连接通讯方式
HTTP1.1 利用TCP协议长连接通讯方式
HTTP2.0 提升并发访问效率
请求头信息
User-Agent: curl/7.29.0 ①
Host: www.baidu.com ②
Accept: /
① User-Agent: 显示访问网站客户端浏览软件信息 curl 谷歌 火狐 iphone 安卓
② Host: 访问网站主机信息 申请获得域名(二级域名) oldboyedu.com
www bbs blog edu down
空行
区分请求头信息和请求主体信息
请求主体信息
当查看网站信息时,请求主体信息是空的 GET
当提交信息当网站时,请求主体会有具体信息 POST
2)HTTP响应
报文结构
4个部分
起始行信息 响应行部分
HTTP/1.1 200 OK
① ② ③
① HTTP协议版本信息
② 相应状态码信息
200 表示可以正确响应
30x 表示页面做了跳转
40x 表示页面无法正常显示 对客户端进行了处理/客户端访问有问题
50x 表示页面无法正常显示 由于服务端出现问题造成 关注
作业: 301 和 302 状态码作用进行总结 临时调整/永久调整
③ 对状态码简单描述
提示
推荐书籍:《HTTP权威指南》
响应头信息
Accept-Ranges: bytes
Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
Connection: keep-alive — HTTP连接方式:长连接方式
Content-Length: 2381 — 网站页面字节长度信息(消耗流量)
Content-Type: text/html — 相应数据类型 文本/html
Date: Wed, 05 Feb 2020 02:25:11 GMT
Etag: “588604c8-94d”
Last-Modified: Mon, 23 Jan 2017 13:27:36 GMT
Pragma: no-cache
Server: bfe/1.0.8.18 — 识别服务端网站服务信息
Set-Cookie: BDORZ=27315; max-age=86400; domain=.baidu.com; path=/
空行
响应主体信息
响应回来的网站页面代码信息,被浏览器可以解析
HTML代码信息: 构建网站页面代码 标签语法结构
CSS代码信息: 制定页面显示样式信息
js代码信息: 制定显示特殊效果
用户访问网站资源介绍
名词解释
URL: Uniform Resource Locator, 统一资源定位符
URI: Uniform Resource Identifier,统一资源标识符
https:// developer.aliyun.com /mirror/centos?spm=a2c6h.13651102.0.0.3e221b11XUxIr6
① ② ③
① 表示访问网站协议信息
HTTP: 超文本传输协议 80
HTTPS:安全超文本传输协议 443
② 网站域名信息 URL
③ 网站资源信息 默认访问资源信息 首页文件 index.html uri信息
具体信息指定 各种资源信息
静态网站资源
1) 根据访问资源类型 uri信息类型
每个页面都有一个固定的URL地址,且URL一般以.html、.htm、.shtml等常见形式为后缀,
而且地址中不含有问号“?”或“&”等特殊符号。
2) 根据网站维护特点 缺陷
网页内容一经发布到网站服务器上,无论是否有用户访问,
每个网页的内容都是保存在网站服务器文件系统上的,
也就是说,静态网页是实实在在保存在服务器上的文件实体,每个网页都是一个独立的文件。
3)便于被搜索引擎收录
网页内容是固定不变的,因此,容易被搜索引擎收录(容易被用户找到)(优点)。
4) 没有数据库服务支持
因为网页没有数据库的支持,所以在网站制作和维护方面的工作量较大,
当网站信息量很大时,完全依靠静态网页比较困难(缺点)。
5) 和网站交互能力丧失
网页的交互性较差,在程序的功能实现方面有较大的限制(缺点)。
6) 访问浏览效率较高 所有操作都是有浏览器进行解析识别
网页程序在用户浏览器端解析,如IE浏览器,程序解析效率很高,
由于服务器端不进行解析,并且不需要读取数据库,因此服务器端可以接受更多的并发访问。
当客户端向服务器请求数据时,服务器会直接从磁盘文件系统上返回数据(不做任何解析)。
待客户端拿到数据后,在浏览器端解析并展现出来(优点)。
A客户端 --- B服务端 ① 请求 ② 响应 ③ 浏览器解析
动态网站资源
1) 根据访问资源类型 uri信息类型
网页扩展名后缀常见为:.asp、.aspx、.php、.js、.do、.cgi等。
2) 根据网站维护特点 优势 ???
网页一般以数据库技术为基础,大大降低了网站维护的工作量。
动态网页并不是独立存在于服务器上的网页文件,当用户请求服务器上的动态程序时,
服务器解析这些程序并可能通过读取数据库来返回一个完整的网页内容。
3) 有数据库支持, 交互能力强
采用动态网页技术的网站可以实现更多的功能,
如用户注册、用户登录、在线调查、投票、用户管理、订单处理、发博文等。
4) 不便于被搜索引擎收录 缺陷
动态网页中的“?”在搜索引擎的收录方面存在一定的问题,搜索引擎一般不会从一个网站的数据库中访问全部网页,或者出于技术等方面的考虑,搜索蜘蛛一般不会去抓取网址中“?”后面的内容,因此在企业通过搜索引擎进行推广时,需要针对采用动态网页的网站做一定的技术处理(伪静态技术),以便适应搜索引擎的抓取要求。
5)动态资源网站访问效率较低
动态配置优化 利用缓存技术 利用CDN加速技术
提示:静态资源 + 动态资源 == 伪静态资源(实质是动态资源,利用技术将动态静态访问速度都提升)
网站访问流量度量方式
IP
根据用户IP源地址(公网),统计网站用户访问量 参考数值 awk数组/软件程序
局域网网络环境(主机IP地址私网地址) -NAT- 源公网IP地址 京东服务器
==PV ==
根据网站页面浏览数量进行统计 参考数值 awk数组/软件程序
决定网站页面设计是否合理
UV
记录独立访客数量 相对准确
cookie: 会员卡 保存在用户浏览器中
session:会员登记表 保存服务端缓存中
网站搭建服务类型说明
处理静态
资源网站服务:
httpd(apache): http://apache.org/
IIS: https://www.iis.net/
GWS: https://www.ghanawebsolutions.com/index.php
Openresty:安全性 http://openresty.org/cn/
Tengine:http://tengine.taobao.org/
nginx:http://nginx.org *****
处理动态
资源网站服务:
PHP: http://php.net ****
Tomcat: http://tomcat.apache.org *****
Resin: http://caucho.com