Gin.Middleware

gin框架中,可以为请求设置中间件,通过中间件在http请求链路中实现如鉴权等功能。gin框架中,可以设置全局中间件,针对一组请求的中间件和单个请求的中间件。请求流程路由树gin针对不同的http请求,设置不同的路由树,每个请求先通过解析报文得到http方法找到对应的路由树,再通过路由树寻找对应的http handler。// Find root of the tree for the given HTTP method     t := engine.trees     for i, tl := 0, len(t); i < tl; i++ {         if t[i].m...

随笔 2023-03-10 PM 1616℃ 0条

Golang&Ping&ICMP&SOCK_RAW

互联网控制消息协议(英语:Internet Control Message Protocol,缩写:ICMP)是互联网协议族的核心协议之一。它用于网际协议(IP)中发送控制消息,提供可能发生在通信环境中的各种问题反馈。通过这些信息,使管理者可以对所发生的问题作出诊断,然后采取适当的措施解决。ICMP 依靠IP来完成它的任务,它是IP的主要部分。它与传输协议(如TCP和UDP)显著不同:它一般不用于在两点间传输数据。它通常不由网络程序直接使用,除了 ping 和 traceroute 这两个特别的例子。 IPv4中的ICMP被称作ICMPv4,IPv6中的ICMP则被称作ICMPv6。虽然...

随笔 2022-11-08 PM 3610℃ 0条

MySql主从搭建

通过搭建多个备库,实现读写分离,备份,故障切换等功能。主从配置文件更改在配置文件中添加server-id配置项,主库和从库分别设置成不同的server-id。同时开启bin-log,mysql默认开启,通过 show variables like 'log_bin'; 查看。如果未开启,在配置文件中添加log-bin配置项。linux下MySql的配置文件通常存在于/etc/mysql目录下,windows存在于C:\ProgramData\MySQL\MySQL Server 8.0目录下。配置文件更改后重启mysql。主库建立账号CREATE USER 'repl'@'%' IDEN...

基础配置 2022-11-02 PM 2383℃ 0条

本机进程TCP通信

运用本地环回机制,便可在主机上运行网络服务,期间不须安装实体网络接口卡,也无须将该服务开放予主机所在网络。发往环回地址的数据包,在链路层经过处理,不会经过实体网卡,而是进入了虚拟网卡,电脑上即使没有实体网卡,也可以进行本机的网络服务。具有环回源地址或目标地址的数据包,在非环回接口上收到则必须被删除。这种数据包有时被称为火星包。和其他虚假数据包一样,它们可能是恶意的。运行于本机的两个进程通过TCP进行通信时,数据包的目的地址是环回地址,所以进入了虚拟网卡。数据包交由网络层时,网络层检测到目的地址是环回地址,交由虚拟网卡。IPv4网络标准将整个127.0.0.0/8地址块订为保留地址,供本地...

随笔 2022-10-19 PM 2571℃ 0条

DNS查询

域名系统(英语:Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用TCP和UDP端口53[[1]](https://zh.wikipedia.org/wiki/%E5%9F%9F%E5%90%8D%E7%B3%BB%E7%BB%9F#cite_note-1)。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。由于IP不具有语义,所以通过建立IP和域名映射,使得更加方便的访问互联网。通过域名访问时,首先要通过DNS服务器查询到域名对应的IP。递归查询向本...

随笔 2022-10-16 PM 2736℃ 0条