HTTP协议相关概念:
一. 网站HTTP协议相关概念
前言:用户访问网站的流程
a 进行域名解析过程 DNS解析原理
b 完成三次握手过程 三次握手原理
c 传输HTTP请求信息 HTTP请求报文信息
+ 表示架构组成 HTTP请求--> 防火墙 --> 负载均衡 --> web01 --> web01(php/java/python) --> 缓存服务 --> 数据库
d 传输HTTP响应信息 HTTP响应报文信息
e 完成四次挥手过程 四次挥手原理
HTTP协议报文结构
1、HTTP请求报文:
请求行
请求头
空行
请求主体
1.1请求行:
GET / HTTP/1.1
1)请求方法 : get 获取信息 post 提交信息
2)请求什么内容 / == /index.html(首页文件)
3)请求协议信息 1.0 1.1 2.0
4)使用长连接还是短链接
1.4.1)TCP长链接特性
tcp长链接:
A 客户端 ---- B 服务端
第1步: 建立三次握手
数据信息01 -> 接收
超时时间:30s
数据信息02 -> 接收
超时时间:30s
数据信息03 -> 接收
超时时间:30s
第二步. 断开握手
1.4.2)TCP短链接
A 客户端 ---- B 服务端
01. 建立三次握手
数据信息01 -> 接收
02. 断开链接
01. 建立三次握手
数据信息02 -> 接收
02. 断开链接
1.2请求头:
User-Agent: curl/7.29.0 --- 用户客户端信息 PC浏览器 IE 火狐 谷歌 移动端:iphone 安卓
Host: www.baidu.com --- 指定显示网站页面
bbs.baidu.com --- 论坛
blog.baidu.com --- 博客
edu.baidu.com --- 视频
down.baidu.com --- 下载
Accept: */* --- 接受信息
1.3空行:起到隔离请求头和请求主体的作用
1.4请求主体:
get方法没有请求主体 ;post方法拥有请求主体
2、HTTP响应报文:4部分
2.1起始行:
HTTP/1.1 302 Moved Temporarily
1)协议信息
2)响应状态码信息
301跳转永久
302跳转临时, 使用的更多一些
2.2响应头:
Server: JDWS/2.0 --- 什么web服务程序作出的响应
Date: Sat, 06 Jul 2019 08:31:11 GMT --- 响应时间信息服务器时间信息
Content-Type: text/html --- 响应数据信息 图片 文本 音频视频
Content-Length: 157 --- 响应数据大小
Connection: keep-alive --- TCP长连接
Location: https://www.jd.com/ --- 指定跳转后需要访问的地址
Strict-Transport-Security: max-age=7776000 --- https特有 证书
2.3空行:用来分隔响应头和响应主体
2.4响应主体: 一段HTML代码信息
3. 网站HTTP协议资源信息
静态资源:将网站代码文件信息 图片 视频 音频 附件等信息直接传输给用户,用户收到信息有浏览器进行解析,显示在浏览器页面上
优势:便于被搜索引擎收录
动态资源:将网站代码文件信息 由动态程序处理完并且和数据进行交互完 再传输给用户,用户收到信息有浏览器进行解析,显示在浏览器页面上
优势:动态调整页面显示信息,减少前端开发工作量,可以有数据库配合,可以具有网站交互功能;例如: 登录 注册 评价 投票 调查
实现伪静态配置:各自优势汇总了 blog网站伪静态处理
URL与URI
3. 网站的度量方式:
IP:独立IP数量,用户访问源IP地址数量
A 10.0.0.1 jd.com IP数量:+1
B 10.0.0.2 IP数量:+2
参考数值
PV:页面访问量(参考数值)
UV:记录用户独立访客数量
cookie: 网站分配给用户标识信息 保存在用户电脑中
session:网站记录每个用户会话信息 保存在网站服务器中
查看网站排名:http://alexa.chinaz.com/alexa_more.aspx
4、HTTP6种请求方法
HTTP请求方法 | 作用描述 |
---|---|
GET | 客户端请求指定资源信息,服务器返回指定资源 |
HEAD | 只请求响应报文中的HTTP首部 |
POST | 将客户端的数据提交到服务器,例如:注册信息 |
PUT | 从客户端向服务器传送指定的数据取代指定的文档内容 |
DELETE | 请求服务器删除Request-URI 标识的资源 |
MOVE | 请求服务器将指定的页面移至另一个网络地址 |
5、常见的几种响应状态码
状态码 | 作用描述 |
---|---|
200 | 服务器成功返回网页,这是HTTP请求返回的标准状态码 |
301 | 永久跳转,所请求的网页将永久跳转到被设定的新位置。例如:从www.xiaoxi.ren跳转到www.xxx.com |
302 | 临时跳转 |
403 | 禁止访问,虽然这个请求是合法的,但是服务器端因为预先设置了规则而拒绝响应客户请端的请求,此类问题一般是服务器或服务权限配置不当所致 |
404 | 服务端找不到客户端请求的指定页面,可能是客户端请求了服务器上不存在资源所致 |
500 | 内部服务器错误,服务器遇到了意料不到的情况,不能完成客户的请求。这是一个较为笼统的报错,一般为服务器的设置或内部程序问题导致。例如SELinux开启,而又没有为HTTP设置许可规则。 |
502 | 坏的网关,一般是代理服务器请求后端服务时,后端服务不可用或没有完成响应网关服务器。这通常为反向代理服务器下面的节点出现了问题导致的。 |
503 | 服务器当前不可用,可能是那个服务器超载或停机维护导致的,或者反向代理服务器后面没有可以提供服务节点。 |
504 | 网关超时,一般是网关代理服务器请求后端服务时,后端服务没有在特定的时间内完成处理请求,多数是服务器过载导致没有在指定的时间内返回给前端代理服务器。 |