HTTP
- HTTP的长连接与短连接
- 短链接
- 长链接
- HTTP代理
- 代理的作用
- HTTP网关
- web网关
- 常见的网关类型
- HTTP缓存
- HTTP缓存头部字段
- HTTP缓存工作方式
- 缓存改进方案
- cdn缓存工作方式
- 浏览器操作对http缓存的影响
- HTTP内容协商机制
- 客户端驱动
- 服务器驱动
- 请求首部集
- 近似匹配
- 透明协商
- 断点续传和多线程下载
- 断点续传过程
HTTP的长连接与短连接
能一次节约很多资源,服务很多次的这种是长连接。只能服务一次的就是短连接。
HTTP协议是基于请求/响应模式的,因此只要服务端给了响应,本次HTTP请求就结束了,那根本就没有连接。所以怎么会有http的长短连接呢?
HTTP的长连接和短链接本质上是TCP长连接和短连接。
http协议是应用层协议,在传输层使用的是tcp协议,在网络层使用ip协议。ip协议主要解决网络路由和寻址这些问题,tcp协议主要解决如何在ip层之上可靠的传递数据包,使在网络上另一端收到发端发出的所有包,并且顺序与发出顺序一致。之所以说http分为长连接和短连接本质上就是在说tcp连接。
tcp连接是一个双向的的通道,他可以保持一段时间不关闭,因此tcp连接才有真正的长连接和短连接。所以实际上http请求和http响应都是通过tcp连接这个通道来回传输的。
HTTP/1.0中,默认使用的是短链接。也就是说,浏览器和服务器每进行一次HTTP操作,就建立一次连接,结束就中断。
如果客户端浏览器访问某个html或者其他类型的web页中,包含有其他的web资源,比如js文件,css样式,图像等。当浏览器每遇到一个web资源时,就会建立一个http会话。
但是从HTTP/1.1起,默认使用长连接,用以保持连接特性。
使用长连接的情况下,当一个网页打开完成之后,客户端和服务器之间用于传输http数据的tcp连接不会关闭,connection:keep-alive,如果客户端再次访问这个服务器上的网页,会继续使用已经建立的连接。这样的keep-alive不会永久保持连接,它可以设定保持的时间。
短链接
建立连接——数据传输——关闭连接…建立连接——数据传输——关闭连接
长链接
建立连接——数据传输…(保持连接)…数据传输——关闭连接
HTTP代理
代理的作用
- 抓包:为了能够更好的分析HTTP请求,或者达到安全测试的目的,就需要对客户端的数据包进行拦截。所以代理也叫做拦截服务器。
- FQ:想要访问被防火墙屏蔽的服务器时,就可以通过代理服务器。
- 匿名访问:http代理服务器通过删除http报文中的身份特性,比如客户端的ip地址,或者cookie,从而对远端的服务器隐藏原始用户的ip地址以及其他一些细节,同时代理服务器上也不会记录原始用户的log,这样就使得代理上网的阿客户可以在更加安全隐秘的环境中访问网络。
- 过滤器:比如当我们需要禁止未成年人访问某些网页时,就需要通过代理服务器进行分析和部分请求的拦截,进一步加强对网络的控制。
HTTP网关
网关可以作为某种翻译器使用,它抽象出了一种能够到达资源的方法。网关是资源和应用程序之间的粘合剂。
网关扮演的是“协