【学习打卡】第七天 HTTP协议原理+实践 ,Web开发工程师必学

2022/8/9 4:22:45

本文主要是介绍【学习打卡】第七天 HTTP协议原理+实践 ,Web开发工程师必学,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

第一模块


学习课程名称:HTTP协议原理+实践 ,Web开发工程师必学
章节名称:Nginx代理以及面向未来的HTTP
讲师姓名:Jokcy


##第二模块

课程内容概述

  1. Nginx安装和基础代理配置
  2. Nginx代理配置和代理缓存的用处
  3. 使用Nginx部署HTTPS服务
  4. HTTP2的优势和Nginx配置HTTP2的简单使用

第三模块


Nginx概述

Nginx是一个高性能的HTTP和反向代理服务器
是一款轻量级的高性能的web服务器/反向代理服务器/电子邮件代理服务器
单台物理服务器可支持30000~50000个并发请求
实际上仅支持20000~25000个并发请求

Nginx和Apache相对的优点

1.nginx相对于apache的优点:
轻量级,同样起web服务,比apache占用更少的内存及资源
抗并发,nginx处理请求是异步非阻塞的,而apache是阻塞型的在高并发下,nginx能保持低资源低消耗高性能
高度模块化的设计,编写模块相对简单

2.apache相对于nginx的优点∶
Rewrite比nginx的rewrite强大 (rewrite的主要功能就是实现统一资源定位符URL的跳转)
模块多,基本想到的都可以找到
少bug, nginx的bug相对较多
超稳定

Nginx配置代理缓存

使用proxy_cache_path来配置一个cache, 示例
proxy_cache_path cache levels=1:2 keys_zone=my_cache:10m
这里的 cache 是缓存文件的路径
windows使用相对路径,为nginx安装目录下
mac可以设置自己的路径,如/var/cache/你的目录
levels 表示是否要创建多级文件夹
因为cache目录声明之后会用于很多代理服务器
默认所有代理会存在于一个目录中导致查找速度变慢
分级文件会优化速度
keys_zone 表示代理缓存指定名称
查找缓存时用的名称和缓存大小声明

Nginx部署HTTPS服务
配置证书及安装ssl模块

HTTP2 的优势
新的二进制格式(Binary Format),HTTP1.x 的解析是基于文本。基于文本协议的格式解析存在天然缺陷,文本的表现形式有多样性,要做到健壮性考虑的场景必然很多,二进制则不同,只认 0 和 1 的组合。基于这种考虑 HTTP2.0 的协议解析决定采用二进制格式,实现方便且健壮。
多路复用(MultiPlexing),即连接共享,即每一个 request 都是是用作连接共享机制的。一个 request 对应一个 id,这样一个连接上可以有多个 request,每个连接的request 可以随机的混杂在一起,接收方可以根据 request 的 id 将 request 再归属到各自不同的服务端请求里面。
header 压缩,HTTP1.x 的 header 带有大量信息,而且每次都要重复发送,HTTP2.0 使用 encoder 来减少需要传输的 header 大小,通讯双方各自 cache 一份 header fields 表,既避免了重复 header 的传输,又减小了需要传输的大小。
服务端推送(server push),同 SPDY 一样,HTTP2.0 也具有 server push 功能。
分帧传输:可以并发发送不同请求。


第四模块

图片描述图片描述图片描述



这篇关于【学习打卡】第七天 HTTP协议原理+实践 ,Web开发工程师必学的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程