HTTP 缓存

一次网络通信,也许会有多个缓存,从数据库缓存,服务器缓存,代理服务器缓存,中间服务器缓存,到本地浏览器缓存等,一路缓存下来,不仅减轻服务端的压力,本地用户体验也流畅了。

HTTP 的缓存是在请求/响应头里控制的,不同版本的 HTTP 协议,缓存配置字段也有些区别。

阅读更多

SSH 使用以及与 HTTPS 的对比

HTTPS 与 SSH,他们都是网络通信的协议,主要作用都是加密网络通信数据,他们之间的区别广义上讲,差不了多少,以至于有人把他们比作 苹果和桔子的关系,我们日常使用的 GitHub,在 clone 仓库的时候,也提供了 HTTPS 和 SSH 两种方式,都能 clone 下来。

但 SSH 和 HTTPS 还是不同的,HTTPS 大量用于客户端服务器直接的安全通信,SSH 主要用于两台电脑之间登录、共享数据和协同工作。

阅读更多

HTTPS 安全机制

使用 HTTPS 时,所有的 HTTP 请求和响应数据在发送到网络之前,都要先进行加密。 HTTPS 在 HTTP 下面提供了一个数据传输级的安全层(SSL or TLS),用来对数据进行加密。

写这篇文章时,看到了一篇很形象的阐述 HTTPS 的安全的故事,故事有趣不枯燥,推荐大家可以直接看看这篇 HTTPS 的故事

阅读更多

HTTP 授权认证

Web 上对于一些私人数据,获取时需要进行用户认证,即要用户名和密码,才能访问资源。浏览器上可以通过 Cookie 来进行认证,移动客户端没有 Cookie,可以使用 HTTP 原生提供的一些认证机制。

这里介绍两种最常见的 HTTP 认证形式,基本认证(basic authentication)和摘要认证(digest authentication)。

阅读更多

HTTP 协议各版本特性

HTTP 协议规定了客户端和服务器直接通信的规范,在网络模型中属于应用层,与开发者直接打交道,它本身也是基于 TCP 和 IP 协议来获取请求和响应,默认 HTTP 使用 TCP 的 80 端口,HTTPS 使用 443 端口。

HTTP 协议发展至今,已经经历过好几个版本。

阅读更多

使用 netcat 读写 TCP UDP 数据包

netcat,简写为 nc,是 unix 系统下一个强大的命令行网络通信工具,用于在两台主机之间建立 TCP 或者 UDP 连接,并提供丰富的命令进行数据通信。nc 在网络参考模型属于应用层。使用 nc 可以做很多事情:建立连接,发送数据包,监听端口,扫描端口,处理 ip4 和 ip6,和 telnet 不同,nc 会区分错误输出和标准输出,telnet 则都是标准输出。

阅读更多