![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
web全栈
有一些文章同时涉及web前端和web后端,偏向于架构设计
Rand Tsui
东方欲晓,莫道君行早。
展开
-
【性能优化】【Brotli】使用Brotli压缩算法来压缩静态文件
Brotli 比 gzip 更强,压缩后体积更小,gzip可以淘汰了。静态文件可以使用Brotli 进行预压缩,会占用cpu资源,返回头需要指定:'Content-Encoding': 'br'不然浏览器无法识别Brotli 基本可以压缩任何静态文件或者直接压缩返回的字节流,使用也非常简单,代码如下:const zlib = require('zlib');let jquery = fs.readFileSync('./jquery-3.6.0.min.js', 'u...原创 2021-05-23 14:03:38 · 1623 阅读 · 0 评论 -
【NodeJS】【pm2】加参数运行
node index.js arg1 arg2pm2 start index.js -- arg1 arg2上面两个等价获取参数process.argv返回一个数组如下:[ '/usr/bin/node', '/usr/lib/node_modules/pm2/lib/ProcessContainerFork.js', 'arg1', 'arg2']原创 2021-05-22 19:49:28 · 1836 阅读 · 0 评论 -
生产环境网站部署
需求:1、需要做域名端口映射功能2、考虑使用cdn减轻服务器压力3、cdn只能设置一个缓存时间,不知道是文件在cdn服务器的缓存时间还是在用户浏览器的缓存时间模板文件,静态文件,需要去空格混淆压缩,然后brotli压缩,压缩之后...原创 2021-05-21 18:34:04 · 168 阅读 · 0 评论 -
常见MIME类型对照表
const MIMETable = { "apk": "application/vnd.android.package-archive", "avi": "video/x-msvideo", "buffer": "application/octet-stream", "cer": "application/pkix-cert", "chm": "application/vnd.ms-htmlhelp", "conf": "text/plain", ".原创 2021-04-27 21:09:49 · 1243 阅读 · 0 评论 -
【NodeJS】最小服务器
const http = require('http');const fs = require('fs');http.createServer((req, res) => { let url = req.url; console.log(url); switch (req.method){ case 'GET': if(url === '/'){ let html = fs.readFileS.原创 2021-04-27 20:15:37 · 209 阅读 · 0 评论 -
静态文件缓存控制
固定时间返回头给Cache-Control 字段一个固定时间(注:优势就是从本地读不需要时间,劣势就是文件修改得不到及时更新)文件变化返回头给Cache-Control 字段设置 no-cache返回头给Last-Modified 字段设置当前文件的修改时间 (注:读取文件的上次修改时间也是需要时间的,但是流量减少)当浏览器再次请求时会自动带if-modified...原创 2019-07-13 22:51:16 · 295 阅读 · 0 评论 -
【http】url的格式
┌────────────────────────────────────────────────────────────────────────────────────────────────┐│ href │├──────────┬──┬─────────────────────┬────────────────────.原创 2021-04-27 11:15:52 · 264 阅读 · 0 评论 -
存储用户密码的最好的方式
md5和sha1容易破解,应该使用更安全的方式,比如sha256计算sha256的时候应该加盐salt,salt是一个多个随机字节的Buffer,它应该跟密码一起存在数据库中,防止彩虹表攻击,即使黑客拿到了数据库,也要逐一加盐破解,难度相比不加盐或者加公共盐将大大增加...原创 2021-04-23 22:44:37 · 266 阅读 · 0 评论 -
单点登录SSO设计
1、为什么需要单点登录? 因为如果没有单点登录,多个子网站就需要分别完成登录功能,账号不互通。2、单点登录系统的实质是一个包含用户账号、密码、显示名称、手机号、邮箱等基本信息的数据库...原创 2021-04-22 09:58:18 · 118 阅读 · 0 评论 -
Session设计
服务端肯定是需要session来保存用户登录状态的原创 2021-04-21 18:31:46 · 291 阅读 · 0 评论 -
http请求处理设计
1、两台计算机的通信每台计算机都可以收、发消息,如果没有规则,那么收、发自由,不限制时间,但这一般是没有意义的。如果计算机设立了规则,那么就会按时发送,或者对收到的消息进行处理,对不满足条件的消息直接扔掉。现实中的服务,是一个零售店、公司、政府等等有个办事处,一直等待有人来找他们办事,有人来就会做出相应的处理。计算机服务也是一样,需要一台计算机等待消息,对不同的消息进行处理。有服务,就应该有客户,不然服务的存在没意义,这样 server、client 就出现了。2、客户端与服务端的连原创 2021-04-08 12:02:48 · 219 阅读 · 0 评论 -
【web架构设计】新型UI适配架构方案
用户可能使用pc和手机设备浏览网站,前后端怎么设计才能既满足性能最好又能适配。答案就是:前端判断设备类型,然后动态获取所需要的css和js,并且在设备改变的时候也做出相应的变化代码如下:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>根据屏幕宽度动态加载合适的css</title></head><原创 2021-02-18 22:10:25 · 176 阅读 · 1 评论