HTPP协议原理
用户访问网站的过程
1.利用DNS服务,将输入的域名解析成相对应的IP地址(DNS解析原理)
1.1:本地主机输入域名后,会查询本地缓存信息和本地hosts
1.2:本地主机会向远程LDNS服务器,发送递归查询请求
1.3:LDNS是网卡配置的DNS服务(223.5.5.5 114.114.114.114)
1.4:LDNS服务器会向根域名服务器发出请求,将请求响应给LDNS服务器
1.5:LDNS服务器会向顶级域名服务器发出请求,将请求响应给LDNS服务器
1.6:LDNS服务器会向二级域名服务器发出请求,将请求响应给LDNS服务器
1.7:LDNS服务器收到二级域名服务器响应过来的信息(解析记录),进行本地缓存将解析记录发送给本地主机
1.8:本地主机收到LDNS服务器的响应信息,也会将解析记录进行缓存,利用IP地址访问网站服务器
2.利用已知的IP地址,进行三次握手连接建立
3.本地主机客户端向网站服务端,发出请求http请求数据包(http请求报文)
4.网站服务端向本地主机客户端,回复响应 http响应数据包(http响应报文)
5.完成网络四次挥手断开过程
http通讯原理说明
http请求报文(request message)的组成:
1.请求行:
1.1 请求方法:post与get方法
1.2 请求协议:http协议的版本(1.0:、1.1、2.0)
http1.0:属于TCP短连接
http2.0:属于TCP长连接
2.请求头:主要发一些与客户端相关的信息,如访问的浏览器版本,访问些什么格式的数据等
3.空行:隔离上下文,说明请求头部结束
4.请求主体:get方法与POST方法
ps:get方法是没有请求主体内容,post方法才会有请求主体内容
http响应报文的组成:
1.起始行:存放响应的状态码/状态信息
2.响应头:存放服务端有关的信息
3.空行:隔离上下文,说明响应头部结束
4.响应主体:请求后进行响应返回的内容信息
http常见状态码与对应的作用
状态码 |
作用 |
200 - OK |
服务器成功返回网页,这是HTTP请求返回的标准状态码 |
301-Moved Permanently |
永久跳转,所请求的网页将永久跳转到被设定的新位置 |
302 |
临时跳转 |
403 - Forbidden |
禁止访问,虽然这个请求是合法的,但是服务器端因为匹配预先设置的规则而拒绝响应客户端的请求,此类问题一般为服务器或服务权限配置不当 |
404 - Not Found |
服务器找不到客户端指定的页面,可能是客户端请求了不存在的资源所致 |
500 - Internal Server Error |
内部服务器错误,一般为服务器的设置或内部程序问题所致,例:如开启了selinux,而又没有为http设置规则许可,则会报500错误 |
502 - Bad Gateway |
坏的网关,一般是代理服务器请求后端服务时,后端服务不可用或没有完成响应网关服务器,这通常为反向代理服务器下面的节点所致,反向代理服务器无法与后端web服务节点服务器建立联系 |
503 - Service Unavailable |
服务当前不可用,可能是服务器超载或停机维护所致,或者是反向代理服务器后面没有可用的服务节点 |
504 - Gateway Timeout |
网关超时,一般是网关代理服务器请求后端服务时,后端服务没有在特定的时间完成处理请求。多数是服务器过载导致没有在指定的时间返回数据给前端代理服务器 |
HTTP协议资源说明
1.媒体资源类型
web服务可以处理接收的资源类型(text/html css jpg avi)
一般在web服务软件程序中,会有一个文件来定义媒体资源类型(mime.type)
2.URL与URI
URL:表示统一资源定位符
URI:表示统一资源标识符
例:baidu.com/index.html
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.伪静态文件资源
1.根本实质还是动态资源,将动态资源伪装成静态
2.动态不便于搜索引擎收录 响应速度较慢
网站度量的统计方法
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:标识用户主机身份信息