http协议
什么事HTTP协议
HTTP协议,又叫做超文本传输协议,是一个简单的请求-响应协议,能够获取像HTML这样的网络资源的通讯协议,是web交换数据的基础。HTTP通常运行在TCP之上。
什么是URL? ( 链接 )
URL:统一资源定位符,也就是我们通常所说的网址链接,指的是资源,URL主要用来定义网站上面的每个资源。
例:
http://www.test.com/public/test.txt
URL一般由以下部分组成:
http:// 协议
80: 端口
www.test.com 域名|IP地址 ( 真实的服务器 )
/public/test.txt 文件路径
什么是HTML
html就是一个网页,这个页面是由多个资源组成的,而每一个资源都是一个URL地址。
一个 html文件,是有多个不同的 url 地址 组成的。
反之: 多个不同的url地址可以组成一个html文件。
什么是HTTP
http 超文本传输协议,能够获取像HTML这样网络资源的通讯协议,是web交换数据的基础。
客户端 --http--> 服务端
服务端 --http--> 客户端 ( 加载源代码 并进行其渲染 )
URL HTML HTTP之间关系?
一个完整的HTML页面是由多个不同的URL资源组成的,而http协议主要就是用来传输这种 HTML 页面的。
HTTP整个工作原理
HTTP请求Header 头部信息
客户端请求的头部信息
:authority: www.xuliangwei.com
:method: GET
:path: /
:scheme: https
Accept: text/html, # 请求的类型
Accept-Encoding: gzip, deflate # 是否进行压缩
Accept-Language: zh-CN,zh;q=0.9 # 请求的语言
Cache-Control: max-age=0 # 缓存
Connection: keep-alive # TCP长连接
Host: www.oldboyedu.com # 请求的域名
If-Modified-Since: Fri, 04 May 2018 08:13:44 GMT# 修改的时间
User-Agent: Mozilla/5.0 # 请求浏览器的工具
"=== 请求一个空行 ==="
"=== 请求内容主体 ==="
短连接:http1.0协议。一次tcp连接,一次http请求,断开。
长连接:http1.1协议。一次tcp连接,多次 http请求,断开。
HTTP响应Header
服务端响应的头部信息
HTTP/1.1 200 OK # 返回服务器的http协议,状态码
Date: Fri, 14 Sep 2018 09:14:28 GMT # 返回服务器的时间
Server: Apache/2.4.6 # 返回服务器使用的软件Apache
Connection: Keep-Alive # TCP长连接1.1
Keep-Alive: timeout=5, max=100 # 长连接的超时时间
Cache-control:max-age=10000 # 服务端告诉客户端缓存多久
"=== 返回一个空行 ==="
"=== 返回内容主体 ==="
状态码
200 成功请求网站
206 比如在下载很大的文件时就会出现该状态
301 跳转(永久跳转)
302 跳转(临时跳转)
304 缓存
400 客户端请求语法错误,服务端无法理解(服务端配置上出现错误,造成了400 )
401 服务端开启了认证,你认证失败了
403 权限不足。服务端没有默认页面,也会403
404 服务端没有这个文件所以404了
500 服务端故障(比如web连接后端的mysql错误,redis连接不上造成500)
502 找不到网关 用户-->中介-->找房东 ( 房东不存在 )
503 服务器过载 用户-->中介-->一直处于占线状态
504 服务端超时 用户-->中介-->房东 (房东一直很忙,说稍后回复中介消息,一直没回复)
类别 原因短语
1XX Informational 信息性状态码 接收的请求正在处理
2XX Success 成功状态码 请求正常处理完毕
3XX Redirection 重定向状态码 需要进行附加操作以完成请求
4XX Client Error 客户端错误状态码 服务器无法处理请求
5XX Server Error 服务器错误状态码 服务器处理请求出错
http中 常见的header
Content-Type:数据类型(text/html等)。
Content-Length:正文的长度。
Host:客户端告知服务器,所请求的资源是在哪个主机的哪个端口上。
User-Agent:声明用户的操作系统和浏览器的版本信息。
Referer:当前页面是哪个页面跳转过来的。
Location:搭配3XX状态码使用,告诉客户端接下来要去哪里访问。
Cookie:用于在客户端存储少量信息,通常用于实现会话(session)的功能。
PV、UV、IP是我们在运营和网站管理中常用的概念
PV(Page View)访问量
即页面浏览量或点击量,衡量网站用户访问的网页数量;在一定统计周期内用户每打开或刷新一个页面就记录1次,多次打开或刷新同一页面则浏览量累计。
UV(Unique Visitor)独立访客
统计1天内访问某站点的用户数(以cookie为依据);访问网站的一台电脑客户端为一个访客。可以理解成访问某网站的电脑的数量。网站判断来访电脑的身份是通过来访电脑的cookies实现的。
如果更换了IP后但不清除cookies,再访问相同网站,该网站的统计中UV数是不变的。如果用户不保存cookies访问、清除了cookies或者更换设备访问,计数会加1。00:00-24:00内相同的客户端多次访问只计为1个访客。
IP(Internet Protocol)独立IP数
是指1天内多少个独立的IP浏览了页面,即统计不同的IP浏览用户数量。同一IP不管访问了几个页面,独立IP数均为1;不同的IP浏览页面,计数会加1。
IP是基于用户广域网IP地址来区分不同的访问者的,所以,多个用户(多个局域网IP)在同一个路由器(同一个广域网IP)内上网,可能被记录为一个独立IP访问者。如果用户不断更换IP,则有可能被多次统计。
会话次数(网站访问量)Session
会话是指在指定的时间段内在您的网站上发生的一系列互动,所以会话次数是一段时间内用户向您的网站发起的会话(Session)总数量。一次会话会浏览一个或多个页面