Http协议
概述
HTTP 协议一般指 HTTP(超文本传输协议)。
超文本传输协议(英语:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议,是因特网上应用最为广泛的一种网络传输协议,所有的 WWW 文件都必须遵守这个标准。
HTTP 是为 Web 浏览器与 Web 服务器之间的通信而设计的,但也可以用于其他目的。
HTTP 是一个基于 TCP/IP 通信协议来传递数据的(HTML 文件、图片文件、查询结果等)。
参考:
菜鸟教程:HTTP教程
程序员栈:说一下什么是http协议无状态以及怎么解决?
HTTP是无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
HTTP是媒体独立的:这意味着,只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送。客户端以及服务器指定使用适合的MIME-type内容类型。
HTTP是无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味 ...
Redis
Redis简介
2008年,意大利的一家创业公司Merzia推出了一款基于MySQL的网站实时统计系统LLOOGG,然而没过多久该公司的创始人 Salvatore Sanfilippo便对MySQL的性能感到失望,于是他决定亲自为LLOOGG量身定做一个数据库,并于2009年开发完成,这个数据库就是Redis。 不过Salvatore Sanfilippo并不满足只将Redis用于LLOOGG这一款产品,而是希望更多的人使用它,于是在同一年Salvatore Sanfilippo将Redis开源发布,并开始和Redis的另一名主要的代码贡献者Pieter Noordhuis一起继续着Redis的开发,直到今天。 SalvatoreSanfilippo自己也没有想到,短短的几年时间,Redis就拥有了庞大的用户群体。HackerNews在2012年发布了一份数据库的使用情况调查,结果显示有近12%的公司在使用Redis。国内如新浪微博、街旁网、知乎网,国外如GitHub、Stack Overflow、Flickr等都是Redis的用户。 VMware公司从2010年开始赞助Redis ...
Apache Shiro + JWT
JWT
来自:
铸鼎__ > Java毕业设计开发笔记 > 后端开发 > shiro+JWT
JWT 的原理
参考:
简书:什么是 JWT – JSON WEB TOKEN
RESTful API:JWT 认证
JWT官网
知乎:Base64编码详解
CSDN:从零入门HMAC-SHA256
服务器认证以后,生成一个 JSON 对象,发回给用户,就像下面这样。
12345{ "姓名": "张三", "角色": "管理员", "到期时间": "2018年7月1日0点0分"}
以后,用户与服务端通信的时候,都要发回这个 JSON 对象。服务器完全只靠这个对象认定用户身份。为了防止用户篡改数据,服务器在生成这个对象的时候,会加上签名(详见后文)。
服务器就不保存任何 session 数据了,也就是说,服务器变成无状态了,从而比较容易实现扩展。
JWT 的数据结构:
实际的 JWT 大概就像下面这样。
它是一个很长的字符串,中 ...
微信小程序开发
JavaScript 基础DOM & BOM
参考:
PHP中文网-长期闲置:深入了解JavaScript中的DOM与BOM
JavaScript 三大部件组成:
ECMAscript,ECMAscript更像一个规定,规定了各个浏览器怎么样去执行JavaScript的语法
DOM(Document Object Model ,文档对象模型)一种独立于语言,用于操作xml,html文档的应用编程接口,为了能使JavaScript操作Html
BOM 是 Browser Object Model,浏览器对象模型。BOM 是为了控制浏览器的行为而出现的接口,BOM为JavaScript提供了一种控制浏览器行为的”方法”
DOM及其相关操作一目明了DOM树:
123456789101112<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>DOM_demo</title>& ...
NetWorkManager新版特性
Linux网络管理软件,默认加上了一个新的功能那就是扫描网络不使用真实的Mac地址和网线/无线连接自由切换Mac地址,加上这个功能想必对好多热衷Linux的非专业人士造成了好多困扰,比如连接校园网认证,认证后不停的切换Mac导致需要不停的认证才可以联网,或者对于开发/运维专业人士比如网络中追踪一个主机,导致无法固定IP地址。
参考:
MAC Address Spoofing in NetworkManager 1.4.0
首先要有效准确的解决这个问题,一定要找到自己系统对应的NetWorkManager的配置文件,比如我的配置文件路径/etc/NetworkManager/NetworkManager.conf :
1vim /etc/NetworkManager/NetworkManager.conf #建议使用sudo权限进行编辑
默认文件内容:
12# Configuration file for NetworkManager.# See "man 5 NetworkManager.conf" for detail ...
Maven
什么是Maven
Maven是一款服务于Java平台自动化构建工具。
自动化构建工具发展趋势:make->Ant->Maven->Gradle
参考:
知乎:Maven最全教程,看了必懂
知乎:IDEA+MAVEN踩坑指南
博客园:2021年Maven国内源配置大全
博客园-佩奇er:maven配置多个镜像
博客园-QiaoZhi:Maven的默认中央仓库以及修改默认仓库&配置第三方jar包从私服下载
脚本之家-itprobie-菜鸟程序员:maven 配置多个仓库的方法
maven依赖项版本查询
配置国内源
首先要想在国内顺利的使用Maven,我们首先要进行一些配置,才可以进行各种Maven所需Jar包的下载,当然无论是IDEA自带的Maven或者是自己替换一个Maven(不建议这么做),但始终都有一个问题就是在国内因为wall封锁,导致自己写入POM配置不能很快的更新jar,我们首先要做的就是解决这个问题:
找到自己intellij-idea的存储路径,我的Arch Linux上的路径为:/opt/intellij-idea-ultimate-edi ...
安康学院校园墙小程序(全栈)
开放源代码
本项目,由于工作没时间折腾,它的前后端代码已经在Gitee上开源,但最重要的是为了共同学习为目的,互相学习。
源码:
school_wall(前端)
school_wall(后端)
推荐阅读
参考:
MarkerHub: Java 代码的14个好习惯
API规划RESTful API
REST (英文:Representational State Transfer ,简称 REST )
一种互联网软件架构设计的风格,但它并不是标准,它只是提出了一组客户端和服务器交互时的架构理念和设计原则,基于这种理念和原则设计的接口可以更简洁,更有层次,REST这个词,是 Roy Thomas Fielding 在他 2000 年的博士论文中提出的。
任何的技术都可以实现这种理念,如果一个架构符合 REST 原则,就称它为 RESTFul 架构。
REST 是 Representational State Transfer的缩写,如果一个架构符合REST原则,就称它为RESTful架构。
RESTful 架构可以充分的利用 HTTP 协议的各种功能,是 HTTP 协议的最佳实践。
RE ...
Vue.JS
在 Web 的世界中从来就没有可以适配所有场景、解决所有问题的银弹。正因如此,Vue 被设计成一个灵活的、可以渐进式集成的框架。根据使用场景的不同需要,相应地有多种不同的方式来使用 Vue,以此在技术栈复杂度、开发体验和性能表现间取得最佳平衡。
Vue 不仅控制整个页面,还负责处理抓取新数据,并在无需重新加载的前提下处理页面切换。这种类型的应用通常称为单页应用 (Single-Page application,缩写为 SPA)。
参考:
知乎-黑马程序员:选择vue2还是vue3?
掘金-生若流水:盘点 Vue3 与 Vue2 的区别
掘金-Jervis_cen:浅谈Vite 原理与 Webpack比较
Vue.js:使用 Vue 的多种方式
写作社区-No Silver Bullet:Vue 进阶(三十六):created()详解
CSDN-Wzh小吴:Vue全家桶包含都有哪一些?
了解Vue
虚拟DOM:没有真实的DOM操作,也叫虚拟DOM。
双向数据绑定:使开发者不用再操作DOM对象。
生态丰富:市场大量成熟vue.js的ui框架、常用组件,以实现快速开发。
应用场景广泛:w ...
IPv6
参考:
知乎:ipv6地址分类知识
BiliBili: Cisco路由交换IPv6-1
BiliBili: Cisco路由交换IPv6-2
IPv6 特性
无状态自动配置(链路本地地址)
配置在路由器端口上的IPv6地址会每隔2s发给内网主机一次自动配置请求,可以将自身的IPv6的必须64位网络号(前缀)分配给各个主机,各个主机拿到会和自己的Mac地址进行自动生成128位的IPv6主机地址。
实现了网络设备即插即用新特性,无需DHCP即可配置。
多宿主
IPv4 需要进行Nat转换,但IPv6 可以不需要转换,可进行多个运营商分配一段IPv6地址来配置公司局域网内的所有主机的公网IP,且一个主机可配置多个不同运营商公网地址。
无需NAT转换,减少边界路由器负载。
由于一个主机可配置多个IPv6地址,做重遍址(换IP)非常方便,换地址时可让新地址先配置进来,再去掉老地址。
简化包头结构
路由效率、转换性能、转换速率提高。
取消广播地址,用组播代替,无地址浪费(网络、广播地址)
现在可靠性完整性提高,IPv6取消头部校验,提高转换效率。
基本报头8个字段,设计出 ...