网络知识
协议
记录常见网络协议的概念和应用
CDN
Content Delivery Network,内容分发网络
网站可以预先把内容分发至全国各地的加速节点。这样用户就可以就近获取所需内容,避免网络拥堵、地域、运营商等因素带来的访问延迟问题,有效提升下载速度、降低响应时间,提供流畅的用户体验。
好处CDN 技术消除了不同运营商之间互联的瓶颈造成的影响,实现了跨运营商的网络加速,保证不同网络中的用户都能得到良好的访问质量
广泛分布的 CDN 节点加上节点之间的智能冗余机制,可以有效地预防黑客入侵以及降低各种 DDoS 攻击对网站的影响,同时保证较好的服务质量
工作流程
当在地址栏输入一个地址后,先经过本地 DNS 服务器解析,如果本地 DNS 没有相应域名的缓存,则本地 DNS 系统会将域名的解析权交给 CNAME 指向的 CDN 专用的 DNS 服务器
CDN 的 DNS 服务器将CDN 的全局负载均衡设备IP 返回给用户
用户向 CDN 的全局负载均衡设备发起 URL 访问请求。
CDN 全局负载均衡设备根据用户 IP 地址,以及用户请求的 URL,选择一台用户所属区域的区域负载均衡设 ...
学习nginx
“Nginx 是一款轻量级的 HTTP 服务器,采用事件驱动的异步非阻塞处理方式框架,这让其具有极好的 IO 性能,时常用于服务端的反向代理和负载均衡。”
学习文章
安装代理
正向代理
正向代理(forward proxy):是一个位于客户端和目标服务器之间的服务器(代理服务器),为了从目标服务器取得内容,客户端向代理服务器发送一个请求并指定目标,然后代理服务器向目标服务器转交请求并将获得的内容返回给客户端。
代理服务器代理了客户端区和服务器通信,服务器并不知道客户端是谁
用途
突破访问限制,突破自身 ip 的访问限制,可以科学上网
提高访问速度,通常代理服务器都设置一个较大的硬盘缓冲区,会将部分请求的响应保存到缓冲区中,当其他用户再访问相同的信息时, 则直接由缓冲区中取出信息,传给用户,以提高访问速度。
隐藏客户端 ip,隐藏自身的 ip,免受攻击
反向代理
反向代理(reverse proxy):是指以代理服务器来接受 internet 上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给 internet 上请求连接的客户端,此时代理服务器对 ...
学习shell语法
学习地址
运行需要在shell文件头部指定使用哪种解析器解析当前文件
1#!/bin/bash
给shell文件添加可执行权限才可以执行
1chmod +x shell文件名
运行shell脚本
123./shell.shbash shell.sh
注释12345678# 单行注释使用 '#' 号,也可用于多行注释# 多行注释:<<EOF注释内容...注释内容...注释内容...EOF
变量注意
定义变量时,=号两侧不能有空格
12345678910111213141516# 定义变量first_var='css'second_var='marry'third_var='cui'# 使用变量echo ${first_var}# 已经定义的变量可以重新被定义first_var='cui'# 只读变量readonly first_var# 删除变量,不能删除只读变量unset first_var
变量分为局部变量、环境变量、shell 变量
...
学习CI/CD
前言什么是 CI/CDGitLab CI/CDgitlab-runnerpipelinestagejob关键字预变量
学习webpack
webpack 中文官网
简介作用
模块打包.可以将不同模块的文件打包整合在一起,并且保证它们之间的引用正确,执行有序.该功能可以使项目模块化,让项目结构更加清晰,大大提高了项目和代码的可读性.
编译兼容.webpack提供了loader机制,该机制不仅可以对代码做polyfill,还可以编译转换诸如.less .sass .jsx这类浏览器无法识别的文件,使得开发过程中可以使用新特性和新语法(babel)进行开发,提高开发效率.
能力扩展.webpack提供了plugin机制,该机制可以在实现模块化打包和编译兼容的基础上,提供额外的功能,例如按需加载,代码压缩等等.帮助我们进一步提高自动化程度和工程效率等等.
打包流程配置1234567891011121314151617181920212223242526272829303132333435const path = require("path");function resolve(dir) { return path.resolve(__dirname, dir);}module.ex ...
开发cli工具
npm 包commanderInquirer