web应用就是利用http协议进行互联互通的应用,常用的浏览器都属于web应用。
目录
问题:代理服务器里面的缓存网页是最新版的吗,和原始服务器上面的一致吗?
遵循的协议
无状态机制:不会记录谁访问过我,只要访问就响应。
有状态:有状态的协议更复杂,需维护状态历史信息,如果客户或服务器失效,会产生状态的不一致,解决这种不一致代价高。
HTTP连接的两种类型
非持久性连接
持久性连接
采用带有流水机制的持久性连接使得http通信时效率更高。
具体的http信息
http请求信息
http请求消息的通用格式
SP:space 空格的意思
CR:Carriage Return,对应ASCII中转义字符\r,表示回车(回到改行最左边)
LF:Linefeed,对应ASCII中转义字符\n,表示换行(另起一行)
CRLF:Carriage Return & Linefeed,\r\n,表示回车并换行
Windows操作系统采用两个字符来进行换行,即CRLF;Unix/Linux/Mac OS X操作系统采用单个字符LF来进行换行;另外,MacIntosh操作系统(即早期的Mac操作系统)采用单个字符CR来进行换行。
在很久以前的机械打字机时代,CR和LF分别具有不同的作用:LF会将打印纸张上移一行位置,但是保持当前打字的水平位置不变;CR则会将“Carriage”(打字机上的滚动托架)滚回到打印纸张的最左侧,但是保持当前打字的垂直位置不变,即还是在同一行。
http响应消息
Cookie技术
对于无状态的请求,产生了cookie技术,用于身份认证,购物车,推荐等等
可参见浏览器 Cookies 时代要终结了吗,为何网络巨头纷纷开发自有系统,对广告业和网络应用有何影响?
web缓存/代理服务器技术
主要用来提升客户端访问资源的速度。
web缓存示例
加一个代理服务器的效果比提升带宽还要好。
问题:代理服务器里面的缓存网页是最新版的吗,和原始服务器上面的一致吗?
解决方法:条件性get方法
工作原理
①代理缓存器(proxy cache)发送请求报文给Web服务器。
②Web服务器发送具有被请求对象的响应报文给缓存器,报文带有Last-Modified:最后修改时间;缓存器存储被请求对象和最后修改时间。
③当用户经过该缓存器请求同一个对象时,缓存器发送一个条件GET执行最新检查,该报文包含首部行“If-Modified-Since:最后修改时间”。
④Web服务器向缓存器发送响应报文。如果该对象没有更新,则返回一个带有304状态码 Not Modified的报文,没有包含对象;如果对象已更新,则返回一个带有被请求对象的报文。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/92895.html