HTTP/1.1和HTTP/1.0的差别

这里列出我所了解到的HTTP/1.1在HTTP/1.0基础上的改进点

1.持久化部分Keep-Alive

HTTP/1.0版本中,客户端如果希望保持连接,需要在Connect方法里面添加Keep-Alive,这样服务器才会保持。但是代理服务器会忽略,因此会导致一些问题。在HTTP/1.1中推荐使用持久化连接,而且是默认就会开启持久化连接。 继续阅读“HTTP/1.1和HTTP/1.0的差别”

HTTP基础之十(网关Gateway,隧道tunnel,中继器Relays)

网关(Gateway)

网关的出现?为了在web上放置更多类型的资源,例如数据库资源,动态生成HTML。浏览器发起的URL请求需要找到对应的资源来返回,而这个资源不仅仅是静态的图片或文件,这个中间(应用程序和资源之间)需要一个翻译——网关。网关可以访问数据库获取数据,动态生成内容返回给客户端。网关执行的过程:一个请求进入,然后一个响应返回。有时网关可以自动转换协议,客户端不需要知道! 继续阅读“HTTP基础之十(网关Gateway,隧道tunnel,中继器Relays)”

HTTP基础之九(Web Cache—Cache-Control,If-Modified-Since,ETag)

Cache处理的基本过程

①读取请求——>②解析请求,提取URL和headers——>③查阅,缓存的副本是否可用,如果不可用,请求服务器更新——>④检查缓存是否最新——>⑤构建响应使用新header——>⑥发送——>⑦记录日志 继续阅读“HTTP基础之九(Web Cache—Cache-Control,If-Modified-Since,ETag)”

HTTP基础之七(连接Connection关闭的奥秘)

连接关闭的随意性

首先我们需要知道,任何HTTP客户端,服务器,代理可以在任何时候关闭TCP连接。当服务器端关闭连接时,不知道客户端可能需要在此时发送请求,这次如果出现客户端发起请求就会报错。 继续阅读“HTTP基础之七(连接Connection关闭的奥秘)”

HTTP基础之五(HTTP连接和性能优化)

被误解的HTTP连接头

HTTP允许客户端和服务器之间有很多代理的服务器存在,HTTP消息会被一次一次的转发最终到达服务器。有些情况下,两个相邻的HTTP应用之间,可能想要应用一些选项,只被当前的两个HTTP连接共享。这个HTTP Connection头的值是被逗号分隔的连接Token,例如Connection:colse,表示在发送了下一条消息以后就关闭连接。 继续阅读“HTTP基础之五(HTTP连接和性能优化)”