一些术语
HTTP概况
超文本传输协议,是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据,互联网上应用最为广泛的一种网络协议,所有的WWW文件都必须遵守这个标准。设计HTTP的初衷是为了提供一种发布和接收HTML页面的方法。

HTTP连接
HTTP非持久连接
每次从接收一个Web对象之后,TCP连接都会关闭,下次请求又会重新请求TCP连接
响应时间模型
HTTP持久连接
非流水线方式:
一次请求一个对象,等这次请求结束后再请求下一个对象
流水线方式:HTTP1.1版本默认方式
第一个请求都没有回来的时候,就开始请求下一个对象。
HTTP请求报文
通用格式
提交表单输入
方法类别
HTTP响应报文
HTTP响应状态码
用户-服务器状态:cookies
为了保存用户在服务器的状态,将HTTP从无状态协议变得有状态

Web缓存
缓存示例
更快地接入链路
安装本地缓存
条件GET方法
如果本地服务器Web缓存与源端不一样,可能是源端更新了。为了避免这种情况使用条件GET方法。
def partial_table(p):'''''partial_table("ABCDABD") -> [0, 0, 0, 0, 1, 2, 0]'''prefix = set()res = [0]for i in range(1, len(p)):prefix.add(p[:i])postfix = {p[j:i + 1] for j in range(1, i + 1)}#print(p[:i+1],prefix,postfix,prefix & postfix or {''})res.append(len((prefix & postfix or {''}).pop()))return resdef kmp_match(s, p):m = len(s);n = len(p)cur = 0 # 起始指针curtable = partial_table(p)while cur <= m - n: #只去匹配前m-n个for i in range(n):if s[i + cur] != p[i]:cur += max(i - table[i - 1], 1) # 有了部分匹配表,我们不只是单纯的1位1位往右移,可以一次移动多位breakelse:return True # loop从 break 中退出时,else 部分不执行。return False
HTTPS
https://blog.csdn.net/xiaoming100001/article/details/81109617


