加密 view 中文名 shtml amp mark tcp 三次握手 拨号 sea
HTTP 协议原理介绍
掌握用户访问网站流程:
1)利用 DNS 服务进行域名解析(DNS 解析原理 - 递归查询 / 迭代查询)
2)用户端要和企业网站服务器建立网络连接(TCP 三次握手过程 / 三次握手的状态转换)
3)用户请求网站发送相应页面信息 --- http 请求报文发送(客户端发出)
3+) 根据网站架构层次,顺明详细请求过程
4)网站响应用户请求,发送相应页面信息 --- http 响应报文发送(服务端发出)
5)用户端要和企业网站服务器断开网络连接(TCP 四次挥手过程 / 四次挥手的状态转换)
2.1 HTTP 协议原理介绍
HTTP 协议,全称 HyperText Transfer Protocol,中文名为超文本传输协议
HTTP 的重要应用之一是 WWW 服务
www,全称 World Wide web,常称为 Web,中文译为 "万维网"
HTTP 协议的 WWW 服务应用的默认端口为 80
另外一个加密的 WWW 服务应用 https 的默认端口为 443
说明:一般互联网公司,对外开放的端口,只有两个(80 和 443)
2.2 HTTP 协议报文结构详细说明
HTTP 请求报文结构
请求行:
a 请求方法:
get --- 获得请求文件信息的数据内容(获取)
post --- 告知服务需要保存的数据信息(提交)
b 请求文件信息
说明:当没有指定请求的文件内容,默认请求的是首页文件 index.html
c 说明请求报文采用什么 http 协议版本
HTTP 协议版本说明
1.0:规定浏览器与服务器只保持短暂的连接(TCP 短连接)
1.1:规定浏览器与服务器只保持长久的连接(TCP 长连接)
请求头内容:
空行
请求主体内容:
说明:采用 get 方法时,不会有请求主体内容;采用 post 方法时,将要提交的信息放入请求主体中
2.3 HTTP 响应报文结构
起始行:
a HTTP 协议版本
HTTP 协议版本说明
1.0:规定浏览器与服务器只保持短暂的连接(TCP 短连接)
1.1:规定浏览器与服务器只保持长久的连接(TCP 长连接)
b HTTP 响应状态码信息
告知请求的结果
200 --- 正常响应请求报文
301 --- 跳转,永久跳转
302 --- 跳转,临时跳转
403 --- 设置指定页面拒绝访问;(***** 还有一种情况???)
404 --- 找不到我所要请求的文件内容(找不到请求的页面信息)
500+ --- 网站后端服务器出现了问题(大部分情况都是网站出现问题)
说明:详细了解很多 http 状态码,http 权威指南
c HTTP 状态描述信息
curl 命令可以在 linux 系统中,模拟浏览器功能,访问网站
-I --- 显示响应报文起始行和响应头部信息
响应头部:
空行
响应报文主体:
说明:就是请求报文中,所要请求文件的内容;客户端浏览器会识别响应报文主体内容,进行解析
以上信息命令查看方法:
curl -v www.oldboyedu.com <- 利用 curl 命令的 - v 参数,查看访问网站请求与响应信息
wget --debug www.oldboyedu.com <- 利用 wget 命令的 --debug 参数,查看访问网站请求与响应信息
2.4 HTTP 请求与相应报文说明
2.5 HTTP 术语介绍说明
2.5.1 媒体资源类型
说明:定义相应 web 服务可以识别的文件资源类型;
?如果媒体资源类型中有相应请求文件类型,会帮你进行解析
?如果媒体资源类型中没有响应请求文件类型,会将文件传输给客户端,自行解析
2.5.2 URL 与 URI 概念介绍
URL,全称为 Uniform Resource Location,中文翻译为统一资源定位符
URI,全称为 Uniform Resource Identifier,中文翻译为统一资源标识符
2.5.3 静态网页资源
https: //search.jd.com / Search?keyword=10tb&enc=utf-8&suggest=3.his.0
URL URI
纯粹 HTML 格式的网页(可以包含图片,视频 JS(前端功能实现),CSS(样式)等)通常被称为 "静态网页"
特征说明:
1)每个页面都有一个固定的 URL 地址,且 URL 一般以. html,.htm,.shtml 等常见形式为后缀,
而且地址中不含有问号 "?" 或 "&" 等特殊符号.
2)静态网页是实实在在保存在服务器上的文件实体,每个网页都是一个独立的文件
3)静态资源不需要和数据库进行交互,因此网站交互性能差
4)网页内容是固定不变的,因此,容易被搜索引擎收录(容易被用户找到)(优点)
5)网页程序在用户浏览器端解析,当客户端向服务器请求数据时,
服务器会直接从磁盘文件系统上返回数据(不做任何解析)
2.5.4 动态网页资源
所谓的动态网页是与静态网页相对而言的,也就是说,动态网页的 URL 后缀不是. html,.htm,.xml,.shtml,.js,.css 等静态网页的常见扩展名形式
特征说明
1)动态资源需要和数据库进行交互,因此网站交互性能好
省略...
5)网页程序在服务端解析,当客户端向服务器请求数据时,
服务器会直接从磁盘文件系统上返回数据(会做数据解析后返回)
![](http://i2.51cto.com/images/blog/201801/14/38df26e40f991374aa0fe36be68d5a48.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
2.5.5 伪静态资源(了解 / 真正企业中有开发人员负责伪静态资源编写)
1) 网页内容是固定不变的,因此,容易被搜索引擎收录
2) 网页程序在用户浏览器端解析,当客户端向服务器请求数据时,
服务器会直接从磁盘文件系统上返回数据(不做任何解析)
3) 动态资源需要和数据库进行交互,因此网站交互性能优
4)网页程序在服务端解析,当客户端向服务器请求数据时,
服务器会直接从磁盘文件系统上返回数据(会做数据解析后返回)
2.6 HTTP 请求的方法
2.7 如何证明一个网站有价值?
IP度量值:(参考值)
根据访问的用户源IP地址进行统计,判断有多少用户进行访问?
说明:有可能统计数值不准确
a 由于有NAT映射问题,会把局域网多台主机不同的源IP地址映射为一个相同的公网源IP地址
b 由于家用拨号网络,没有固定的外网IP地址
数据计算方法:
01)利用awk数组方法结合nginx访问日志(分享讲解awk多维数组)
02)通过程序代码进行统计
说明:通过代码实现IP度量值统计记录
<script>
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?9aa800f882f575237396648643111698";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
03)借助第三方工具进行统计
2.8 PV 度量值:(参考值)
page view:页面访问量
数据计算方法:
01)利用awk数组方法结合nginx访问日志(分享讲解awk多维数组)
02)通过程序代码进行统计
说明:通过代码实现IP度量值统计记录
<script>
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?9aa800f882f575237396648643111698";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
03)借助第三方工具进行统计
UV度量值:
记录一个独立访客数;利用cookie进行统计记录
cookie: 记录客户端访问信息,cookie信息一般会保存在客户端
session:记录客户端访问信息,session信息一般会保存在服务端
2.9 数据计算方法:
01)利用awk数组方法结合nginx访问日志(分享讲解awk多维数组)
02)通过程序代码进行统计
说明:通过代码实现IP度量值统计记录
<script>
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?9aa800f882f575237396648643111698";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
03)借助第三方工具进行统计
最终度量统计信息获取,利用第三方统计网站获取
http://alexa.chinaz.com/alexa_more.aspx
2.10 网站并发概念
A 种理解:网站服务器每秒能够接收的最大用户请求数.
B 种理解:网站服务器每秒能够响应的最大用户请求数.
C 种理解:网站服务器在单位时间内能够处理的最大连接数.(推荐)
HTTP 协议说明
来源: http://www.bubuko.com/infodetail-2461719.html