七.HTTP协议原理介绍
01. 当用户访问一个网站时,都发生了事情?
①. 利用DNS服务,将输入的域名解析为相应的IP地址
a --本地主机输入域名后,会查询本地缓存信息和本地hosts文件
如果有就进行解析,如果没有以下
b --本地主机会向远程LDNS服务器,发送递归查询请求
如果能解析就返回解析信息
LDNS是网卡配置的DNS服务(223.5.5.5 114.114.114.114)
如果没有
c --LDNS服务器会向根域名服务器发出请求,将请求响应给LDNS服务器
如果没有
d --LDNS服务器会向顶级域名服务器发出请求,将请求响应给LDNS服务器
e --LDNS服务器会向二级域名服务器发出请求,将请求响应给LDNS服务器
f --LDNS服务器收到二级域名服务器响应过来的信息(解析记录),进行本地缓存
将解析记录发送给本地主机
g --本地主机收到LDNS服务器的响应信息,也会将解析记录进行缓存,利用IP地址访问网站服务器
②. 利用已知的IP地址,进行网络三次握手连接建立
③. 本地主机客户端向网站服务端,发出请求 http请求数据包(http请求报文)
④. 网站服务端向本地主机客户端,回复响应 http响应数据包(http响应报文)
⑤. 完成网络四次挥手断开过程
2. HTTP通讯原理说明




HTTP请求报文
请求行:
* 请求方法: 希望客户端完成我的什么样请求
get 获取服务端的文件内容
post 存储提交数据到服务端
* 协议版本:http1.0 http1.1 http2.0
http1.0: 属于TCP短连接类型协议
http1.1:属于TCP长连接类型协议
请求头:
空行
请求主体
* get方法:没有请求主体内容
* post方法:会有请求主体内容
HTTP响应报文
起始行:
* 状态码信息


3. HTTP协议资源说明
1. 媒体资源类型
web服务可以处理接收的资源类型(text/html css jpg avi)
一般在web服务软件程序中,会有一个文件来定义媒体资源类型(mime.type)
2. URL/URI
URL 统一资源定位符
URI 统一资源标识符
www.jd.com / error2.aspx
URL URI
3. 静态文件资源
静态网页资源有几个重要的特征:
1) 每个页面都有一个固定的URL地址,且URL一般以.html、.htm、.shtml等常见形式为后缀,
而且地址中不含有问号“?”或“&”等特殊符号。
2) 静态网页是实实在在保存在服务器上的文件实体,每个网页都是一个独立的文件。
3) 网页内容是固定不变的,因此,容易被搜索引擎收录(容易被用户找到)(优点)。
4) 因为网页没有数据库的支持,所以在网站制作和维护方面的工作量较大,
当网站信息量很大时,完全依靠静态网页比较困难(缺点)。
5) 网页的交互性较差,在程序的功能实现方面有较大的限制(缺点)。
6) 网页程序在用户浏览器端解析,如IE浏览器,程序解析效率很高,
由于服务器端不进行解析,并且不需要读取数据库,因此服务器端可以接受更多的并发访问。
当客户端向服务器请求数据时,服务器会直接从磁盘文件系统上返回数据(不做任何解析)。
待客户端拿到数据后,在浏览器端解析并展现出来(优点)。
4. 动态文件资源
1) 网页扩展名后缀常见为:.asp、.aspx、.php、.js、.do、.cgi等。 ※
2) 网页一般以数据库技术为基础,大大降低了网站维护的工作量。
3) 采用动态网页技术的网站可以实现更多的功能,
如用户注册、用户登录、在线调查、投票、用户管理、订单处理、发博文等。
4) 动态网页并不是独立存在于服务器上的网页文件,当用户请求服务器上的动态程序时,
服务器解析这些程序并可能通过读取数据库来返回一个完整的网页内容。
5) 动态网页中的“?”在搜索引擎的收录方面存在一定的问题,
搜索引擎一般不会从一个网站的数据库中访问全部网页,或者出于技术等方面的考虑,
搜索蜘蛛一般不会去抓取网址中“?”后面的内容,因此在企业通过搜索引擎进行推广时,
需要针对采用动态网页的网站做一定的技术处理(伪静态技术),以便适应搜索引擎的抓取要求。
5. 伪静态文件资源
根本实质还是动态资源,将动态资源伪装成静态
动态不便于搜索引擎收录 响应速度较慢
6. 网站度量值统计方法:
1. IP(独立IP),即Internet Protocol,这里指独立IP数,
独立IP数是指不同IP地址的计算机访问网站时被计的总次数
2. PV(访问量)即Page View,中文翻译为页面浏览,即页面浏览量或点击量,不管客户端是不是相同,
也不管IP是不是相同,用户只要访问网站页面就会被计算PV
3. UV(独立访客)即Unique Visitor,同一个客户端(PC或移动端)访问网站被计为一个访客。
一天(00:00-24:00)内相同的客户端访问同一个网站只计一次UV
cookie:标识用户主机身份信息
七.HTTP协议原理介绍的更多相关文章
- VXLAN 基础教程:VXLAN 协议原理介绍
VXLAN(Virtual eXtensible Local Area Network,虚拟可扩展局域网),是一种虚拟化隧道通信技术.它是一种 Overlay(覆盖网络)技术,通过三层的网络来搭建虚拟 ...
- zigbee学习之路(十二):zigbee协议原理介绍
一.前言 从今天开始,我们要正式开始进行zigbee相关的通信实验了,我所使用的协议栈是ZStack 是TI ZStack-CC2530-2.3.0-1.4.0版本,大家也可以从TI的官网上直接下载T ...
- TCP/IP协议(一)网络基础知识 网络七层协议
参考书籍为<图解tcp/ip>-第五版.这篇随笔,主要内容还是TCP/IP所必备的基础知识,包括计算机与网络发展的历史及标准化过程(简述).OSI参考模型.网络概念的本质.网络构建的设备等 ...
- 网络编程之 OSI七层协议
内容目录: 1.软件开发架构 2.OSI七层协议 3.每层协议介绍 1.软件开发架构 c/s架构: c:客户端 s:服务端 b/s架构: b:浏览器 s:服务器 本质:b/s其实也是c/s 2.OSI ...
- XMPP协议实现原理介绍
本文介绍XMPP协议原理及相关信息. XMPP协议简介 XMPP(Extensible Messageing and Presence Protocol:可扩展消息与存在协议)是目前主流的四种IM ...
- 软件开发架构介绍||OSI七层协议之物理层、数据链路层、网络层、传输层(mac地址、ip协议、断开协议、tcp协议之三次握手四次挥手)
一.网络编程 软件开发架构 C/S架构 C:客户端 想体验服务的时候才会去找服务端体验服务 S:服务端 24小时不间断的提供服务,即时监听,随时待命 B/S架构 B:浏览器 想体验服务的时候 ...
- day28——C/S与B/S架构、网络通信原理、osi七层协议、UDP、TCP协议、TCP的三次握手与四次挥手
day28 C/S B/S架构 C:client 客户端 B:browse浏览器 S:server 服务端 C/S C/S架构:基于客户端与服务端之间的通信 QQ.游戏.皮皮虾 优点:个性化设 ...
- python网络编程01 /C/S架构|B/S架构、网络通信原理、五层协议、七层协议简述、端口映射技术
python网络编程01 /C/S架构|B/S架构.网络通信原理.五层协议.七层协议简述.端口映射技术 目录 python网络编程01 /C/S架构|B/S架构.网络通信原理.五层协议.七层协议简述. ...
- 第七章 HTTP协议原理
一.HTTP协议概述 1.什么是HTTP? HTTP 全称:Hyper Text Transfer Protocol 中文名:超文本传输协议 http就是将用户的请求发送到服务器,将服务器请求到的内容 ...
随机推荐
- 《Effective C++》继承与面对对象设计:条款32-条款40
条款32:确定你的public继承塑模出is-a关系 public继承意味着is-a.适用于base class身上的每一个函数也一定适用于derived class. 条款33:避免遮掩继承而来的名 ...
- 《Effective C++》实现:条款26-条款31
条款26:尽可能延后变量定义式的出现时间 C++推荐在使用对象前才定义对象(调用构造函数赋初值) 只在循环中使用的变量定义在循环内部(除非"赋值"成本低于"构造+析构&q ...
- centos7 docker安装
Docker分为社区版CE和企业版EE. 社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比如经过官方测试认证过的基础设施.容器.插件等 社区版按照stable和edge两种 ...
- DAY10、函数的参数
一.实参:为形参传递值 调用函数时,实参可以由常量,变量,表达式三种的组合 1.位置实参:必须按照位置的顺序,从左到右为形参传递值 fn1(10, 20, 30) fn1(30, 20, 10) 2. ...
- LODOP直线px转换mm变斜线
LODOP中打印项顶边距左边距,宽高,可以选择的单位很多,详细可在LODOP官网下载参考LODOP技术手册. 关于LODOP打印直线和虚线,可查看本博客相关博文:Lodop如何打印直线.Lodop打印 ...
- 基于vue现有项目的服务器端渲染SSR改造
前面的话 不论是官网教程,还是官方DEMO,都是从0开始的服务端渲染配置.对于现有项目的服务器端渲染SSR改造,特别是基于vue cli生成的项目,没有特别提及.本文就小火柴的前端小站这个前台项目进行 ...
- redis哨兵(Sentinel)、虚拟槽分区(cluster)和docker入门
一.Redis-Sentinel(哨兵) 1.介绍 Redis-Sentinel是redis官方推荐的高可用性解决方案,当用redis作master-slave的高可用时,如果master本身宕机,r ...
- kNN总结
1,kNN不训练模型 2,主要是通过计算 3,计算点到每个近邻的距离,按照距离递增排序,选取距离最近的k个邻居,在k个邻居中出现频率最大的就是它的分类结果 4,计算距离有不同的距离公式,可以看每种公式 ...
- pm2自动部署
配置pm2自动部署前,请确保已经能够ssh免密登录服务器. 一.创建ecosystem.json { "apps" : [{ "name" : "HT ...
- [SHOI2008]仙人掌图 II——树形dp与环形处理
题意: 给定一个仙人掌,边权为1 距离定义为两个点之间的最短路径 直径定义为距离最远的两个点的距离 求仙人掌直径 题解: 类比树形dp求直径. f[i]表示i向下最多多长 处理链的话,直接dp即可. ...