1、Nginx-基础之Http原理

版权声明:原创作品,谢绝转载!否则将追究法律责任。 ————— 作者:kirin

1.Http协议介绍

1.什么是URL
通常我们在访问一个网站页面时,请求到的内容统称为“资源”。而每个资源都由一个URL来标识。比如https://www.kirin997.com/wp-content/uploads/2022/01/image-7.png这样的资源,我们称其为URL

2.什么是HTML?
HTML简称Web Page,一个完整的Html包含多个URL资源。

3.什么是http?
http中文名为超文本传输协议。是一种能够获取如HTML这样网络资源的通讯协议。它是在Web上进行数据交换的基础。简单理解就是http协议是将用户请求的HTML页面从一台Web服务器传输到客户端浏览器的一种协议

4.URL HTML HTTP之间的关系是?
一个完整的HTML页面是由多个不同的URL资源组成。而HTTP协议主要是用来传输HTML页面的。

2.HTTP的工作原理

3.HTTP请求的Headers

1.请求方法
HTTP请求方法 作用描述
GET 客户端请求指定资源信息,服务器返回指定资源。
HEAD 只请求响应报文中的HTTP首部。
POST 将客户端的数据提交到服务器,例:注册表单。
PUT 从客户端向服务器传送的数据取代指定的文档内容。
DELETE 请求服务器删除Request-URI所标识的资源。
MOVE 请求服务器将指定的页面移至另一个网络地址。
2.客户端请求的头部信息

我们可以随便找一个 网站按F12键,找到网络,随便点一个资源,选择标头,可以看到有响应头和请求标头。

常规:
请求 URL: https://static.iqiyi.com/js/lib/sea1.2.js
请求方法: GET
状态代码: 200 (来自内存缓存)
远程地址: 111.206.13.63:443
引用站点策略: strict-origin-when-cross-origin

请求头:
Accept:text/html, ## 请求中包含我们能接收的资源类型
Accept-Encoding:gzip,deflate ## 请求采用了gzip压缩的方式
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6 ## 支持的语言
Cache-Control: max-age=0 ## 缓存控制,请求的资源不缓存
Connection: keep-alive ### 保持长链接
Host:jd.com ### 请求的主机
If-Modifyed-Since: Fri, 04 May 2018 08:13:44 GMT ### 请求的文件最后修改时间
If-None-Match: “a49-59dfgn34” ### 校验文件
Upfrade-Insecure-Requests:1 ### 浏览器自带的,让http平滑的升级到https(让用户无感知)
User-Agent: Mozilla/5.0 ## 请求时告诉浏览器我的设备是什么

响应头:
Accetp-Ranges: bytes ## 返回的大小
Connection: keep-alive ## 长链接
Content-Length: 178 ### 内容长度178byte
Content-Type: text/html ### 返回的资源类型
Date: Sat, 29 Jan 2022 15:09:58 GMT ### 服务器最后响应的时间
ETag: "a49-59dfgn34" ### 校验码
Keep-Alive: timeout=5, max=100 ### 长链接的超时时间
Last-Modified: Fri, 04 May 2018 08:13:44 GMT ### 请求的文件最后修改时间
Server: jfe ### 返回服务端所使用的web服务器是什么

4.Http的长链接和短链接

1.http1.0协议
一次TCP连接,一次HTTP请求

2.http1.1协议
一次TCP连接,多次HTTP请求,串行,一个请求结束后才能下一次请求

3.http2.0协议
一次TCP连接,多次HTTP请求,并发,可以同时进行多个请求

PS:上述几种协议可以由下图直观展示

5.HTTP的常见状态码

http响应状态码(Status-Code),以3位数字组成,用来标识该请求是否成功,比如是正常还是错误等,http1.1中状态码可以分为以下五大类。

状态码 说明
1XX 信息,服务器收到请求,需要请求者继续操作
2XX 成功,操作被成功接收并处理
3XX 重定向,需要进一步的操作以完成请求
4XX 客户端错误,请求包含语法错误或无法完成请求
5XX 服务器错误,服务器在处理请求的过程中发生了错误
以下是运维必须掌握的常见状态码
状态码 说明
200 表示客户端成功收到了服务端返回的数据,这是最常见的状态码
206 客户端发完请求后,服务端只是返回了部分数据,就会出现这样的状态码,例如下载很大的文件,没下载完成前就会出现该状态码
301 永久重定向
302 临时重定向
400 客户端请求语法错误,服务器无法理解
401 服务器开启了用户认证,而客户端没有提供正确的认证信息
403 服务端不允许客户端访问,没有找到首页文件、selinux没关、目录权限不对
404 客户端请求的资源不存在
413 客户端向服务器上传一个比较大的文件,并且文件超过了服务端的限制
500 服务端内部错误,需要进行人为排查,可能是连接数据库密码不对,也可能是目录权限问题
502 服务器充当代理角色时,后端被代理的服务器不可用或者没有正常回应
503 服务当前不可用,由于服务器过载或者系统维护,服务器暂时无法处理客户端请求
504 服务器充当代理角色时,后端的服务端没有按时返回数据,超时了

6.Http的术语(了解)

1.什么是pv
PV即页面浏览量,比如用户访问一个网站算1个pv,刷新一次页面则累计pv+1,如果多次打开或刷新同一页面则浏览量累计。

2.什么是UV
UV即独立访客,访问网站的一台电脑客户端为一个访客。可以理解成访问某网站的设备数量。

3.什么是IP
IP即独立的公网IP数,是指一天内多少个独立的IP浏览了页面,比如你在家里通过拨号上网访问某个网站,网站会记录你的公网IP地址。

4.什么是并发
并发指的是同时,我们可以理解为一个时间段的网站支持的访问人数。
posted @ 2022-04-12 20:58  kirin(麒麟)  阅读(171)  评论(0编辑  收藏  举报
Δ