跳至主要內容

🅑🅞🅞🅚🅢&🅜🅤🅢🅘🅒

踮起脚尖,看得更远

HTTP到HTTPS的演化

我们不生产知识,我们只是互联网的搬运工

HTTP到HTTPS的演化

HTTP 由于是明文传输,所以安全上存在以下三个风险:


Mr.Liu大约 15 分钟Introducehttphttps
grpc使用流程

proto文件

在项目根目录下,创建pb_file/agent.proto文件。

syntax = "proto3";

option go_package = ".;pb_file";
//  agent/pb_file 两部分,第一部分生成的代码路径,第二部分是所属的包名
//  格式也可以是 agent;pb_file
package pb_file;

service AgentService {
   rpc Ping (PingInfo) returns (PingResponse);
}

message PingInfo {
   string User = 1;
}

message PingResponse {
   bool Success = 1;
}

//  在 gRPC 的 Protocol Buffers(protobuf)定义文件(.proto 文件)中,
// 数字标识符(tag)用于标识字段的唯一标识符。它们是非负整数,可以在字段定义中指定。
// 通常情况下,我们会从 1 开始为字段分配数字标识符,并按照定义顺序逐个递增。
// 这样做的好处是,可以使消息的结构更加清晰,易于维护和扩展。
// 在将来,如果需要向消息中添加新的字段,可以向现有定义的字段之间插入新的字段,而不必破坏现有的客户端和服务器代码。

Mr.Liu大约 4 分钟Gogrpc
GOPATH、GoModules

go env命令,可以查询到GO相关的环境变量

在 Golang 中,有两个概念非常容易弄错,第一个就是 GoPath,第二个则是 GoModule,特别是随着Go版本的更新,好多文档没有及时更新,导致初学者对两者模糊不清,一头雾水。


Mr.Liu大约 5 分钟Go
cookie与session的对比

Web应用程序是使用HTTP协议传输数据的。HTTP协议是无状态的协议。一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接。这就意味着服务器无法从连接上跟踪会话。要跟踪该会话,必须引入一种状态保持机制。


Mr.Liu大约 4 分钟Introducecookiesessionauth
分布式锁

在并发编程中,经常会遇到多个线程访问同一个共享资源而这时候/我们就需要保证数据的“致性,那么就要用到锁的概念,给资源加上锁,拿到锁所有权的人才能够进行操作共享资源,没有拿到资源的线程需要等待,等其他线程使用完,释放锁。


Mr.Liu大约 10 分钟Python并发MySQLRedis
python中的callable概念

是类还是函数

几乎所有的教程都告诉你 int() 是 python 的内置函数,然而当你看到 int 的定义,发现它竟然是类

class int(object):
    pass

Mr.Liu大约 2 分钟Python
哈希表

哈希表

哈希表是 key-value 类型的数据结构,通过关键码值直接进行访问。通过散列函数进行键和数组的下标映射从而决定该键值应该放在哪个位置,哈希表可以理解为一个键值需要按一定规则存放的数组


Mr.Liu大约 4 分钟Introduce算法
HTTP请求方法

根据 HTTP 标准,HTTP 请求可以使用多种请求方法。

HTTP1.0 定义了三种请求方法: GET, POST 和 HEAD 方法。

HTTP1.1 新增了六种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE 和 CONNECT 方法。


Mr.Liu大约 1 分钟Introducehttp
HTTP消息结构

HTTP 报文

HTTP是基于客户端/服务端(C/S)的架构模型,通过一个可靠的链接来交换信息,是一个无状态的请求/响应协议。

一个HTTP"客户端"是一个应用程序(Web浏览器或其他任何客户端),通过连接到服务器达到向服务器发送一个或多个HTTP的请求的目的。


Mr.Liu大约 6 分钟Introducehttprequestresponse
CSRF浅析

CSRF跨站点请求伪造(Cross—Site Request Forgery),存在巨大的危害性,你可以这样来理解:

​ 攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以你的名义发送邮件、发消息,盗取你的账号,添加系统管理员,甚至于购买商品、虚拟货币转账等。如下:其中Web A为存在CSRF漏洞的网站,Web B为攻击者构建的恶意网站,User CWeb A网站的合法用户。


Mr.Liu大约 10 分钟Introduce