在开始处理一个http请求时,nginx会取出header头中的host,与nginx.conf中每个server的server_name进行匹配,以此决定到底由哪一个server块来处理这个请求。

server_name与host匹配优先级如下:

1、完全匹配,选择所有字符串完全匹配的server_name,如www.test.com

2、通配符在前面的server_name,如*.test.com

3...

Continue reading >>

来源:https://github.com/geektime-geekbang/geektime-webprotocol,不错的一套课程。

1 目的

为了帮助同学们更好的学习极客时间《Web协议详解与抓包实战》课程,附上相关课件、参考资料与书籍、演示的抓包。

  • 课程中使用到的抓包文件,会直接更新到 SampleCaptures 目录中

  • 课程中的课件都会更新在 PDF课件 目录中


2 资料

2.1 REST架构论...

Continue reading >>

HTTPS 访问速度优化

Tcp fast open

HTTPS 和 HTTP 使用 TCP 协议进行传输,也就意味着必须通过三次握手建立 TCP 连接,但一个 RTT 的时间内只传输一个 syn 包是不是太浪费?能不能在 syn 包发出的同时捎上应用层的数据?其实是可以的,这也是 tcp fast open 的思路,简称 TFO。具体原理可以参考 rfc7413。
遗憾的是 TFO 需要高版本内核的支...

Continue reading >>

HTTPS 协议概述

HTTPS 可以认为是 HTTP + TLS。HTTP 协议大家耳熟能详了,目前大部分 WEB 应用和网站都是使用 HTTP 协议传输的。
TLS 是传输层加密协议,它的前身是 SSL 协议,最早由 netscape 公司于 1995 年发布,1999 年经过 IETF 讨论和规范后,改名为 TLS。如果没有特别说明,SSL 和 TLS 说的都是同一个协议。
HTTP 和 TLS...

Continue reading >>