HTTP(Hyper Text Transfer Protocol),超文本传输协议,是一种建立在TCP上的无状态连接。一个请求的开始到一个响应的结束称为事务,当一个事物结束后还会在服务端添加一条日志条目。
一、HTTP请求
HTTP请求是客户端往服务端发送请求动作,告知服务器自己的要求,由状态行、请求头、请求正文三部分组成:
状态行:包括请求方式Method、资源路径URL、协议版本Version;
请求头:包括一些访问的域名、用户代理、Cookie等信息;
请求正文:就是HTTP请求的数据。
现在大多数协议版本为http/1.1
二、HTTP响应
服务器收到了客户端发来的HTTP请求后,根据HTTP请求中的动作要求,服务端做出具体的动作,将结果回应给客户端,HTTP响应由三部分组成:状态行、响应头、响应正文
状态行:包括协议版本Version、状态码Status Code、回应短语;
响应头:包括搭建服务器的软件,发送响应的时间,回应数据的格式等信息;
响应正文:就是响应的具体数据
状态码
状态码 | 备注 |
---|---|
1xx | 表示HTTP请求已经接受,继续处理请求 |
2xx | 表示HTTP请求已经处理完成 |
3xx | 表示把请求访问的URL重定向到其他目录 |
4xx | 表示客户端出现错误 |
5xx | 表示服务端出现错误 |
HTTP响应
HTTP响应模型
服务器收到HTTP请求之后,会有多种方法响应这个请求,下面是HTTP响应的四种模型:
单进程I/O模型
服务端开启一个进程,一个进程仅能处理一个请求,并且对请求顺序处理;
多进程I/O模型
服务端并行开启多个进程,同样的一个进程只能处理一个请求,这样服务端就可以同时处理多个请求;
复用I/O模型
服务端开启一个进程,但是呢,同时开启多个线程,一个线程响应一个请求,同样可以达到同时处理多个请求,线程间并发执行;
复用多线程I/O模型
服务端并行开启多个进程,同时每个进程开启多个线程,这样服务端可以同时处理进程数M*每个进程的线程数N个请求。
三、HTTP报文格式
HTTP报文是HTTP应用程序之间传输的数据块,HTTP报文分为HTTP请求报文和HTTP响应报文,但是无论哪种报文,他的整体格式是类似的,大致都是由起始、首部、主体三部分组成,起始说明报文的动作,首部说明报文的属性,主体则是报文的数据
请求报文:
请求报文的起始由请求行构成(有些资料称为状态行,名字不一样而已,都是指的一个东西),用来说明该请求想要做什么,由、、 三个字段组成,注意每个字段之间都有一个空格。
Method :
GET — 访问服务器的资源
POST — 向服务器发送要修改的数据
HEAD — 获取服务器文档的首部
PUT — 向服务器上传资源
DELETE— 删除服务器的资源
URL:
字段表示服务器的资源目录定位
Version:
字段表示使用的http协议版本
首部部分由多个请求头(也叫首部行)构成,那些首部字段名有如下,不全:
Accept 指定客户端能够接收的内容格式类型
Accept-Language 指定客户端能够接受的语言类型
Accept-Ecoding 指定客户端能够接受的编码类型
User-Agent 用户代理,向服务器说明自己的操作系统、浏览器等信息
Connection 是否开启持久连接(keepalive)
Host 服务器域名
HTTP响应报文:
首部由多个响应头(也叫首部行)组成, 首部字段名如下,不全:
Server 服务器软件名,Apache/Nginx
Date 服务器发出响应报文的时间
Last-Modified 请求资源的最后的修改时间
...
四、网站访问量
IP IP访问量
相同的公网IP计算一次,就是同一个局域网内的所有用户访问一个网站,但是他们都是借助一个公网IP去访问那个网站的(NAT),因此这也只能算作一个IP访问量。换一次公网IP则会加1。
PV 网页访问量
用户访问的页面数就是PV访问量,同一个局域网的不同用户,而且就算是同一个用户,只要刷新一次网站页面,PV访问量就加1,三个访问量的值往往数PV的值最大。
UV 访客访问量
这里的访客不是用户,而是电脑,一台电脑算一个访客,即使是同一台电脑的不同用户,访问同一个网站UV也只能加1,只有更换电脑才会使UV加1,因为服务端会记录客户端电脑的信息。
认识:
PR值:
即PageRank,网页的级别技术。取自Google的创始人Larry Page,它是Google排名运算法则(排名公式)的一部分,用来标识网页的等级/重要性。级别从1到10级,10级为满分。PR值越高说明该网页越受欢迎(越重要)
1、网站流量指标 网站流量统计指标常用来对网站效果进行评价,主要指标包括:
- 独立访问者数量(unique visitors)
- 重复访问者数量(repeat visitors)
- 页面浏览数(page views)
- 每个访问者的页面浏览数(Page Views per user)
- 某些具体文件/页面的统计指标,如页面显示次数、文件下载次数等。
2、用户行为指标 用户行为指标主要反映用户是如何来到网站的、在网站上停留了多长时间、访问了那些页面等,主要统计指标包括:
- 用户在网站的停留时间;
- 用户来源网站(也叫“引导网站”);
- 用户所使用的搜索引擎及其关键词;
- 在不同时段的用户访问量情况等。
3、浏览方式时间设备浏览器名称和版本操作系统 用户浏览网站的方式相关统计指标主要包括:
- 用户上网设备类型;
- 用户浏览器的名称和版本;
- 访问者电脑分辨率显示模式;
- 用户所使用的操作系统名称和版本;
- 用户所在地理区域分布状况等。