1.万维网WWW
笔记来源:
湖科大教书匠:应用层概述
湖科大教书匠:万维网WWW
声明:该学习笔记来自湖科大教书匠,笔记仅做学习参考
浏览器最重要的部分是渲染引擎,也就是浏览器内核。负责对网页内容进行解析和显示。不同的浏览器内核对网页内容的解析也有不同,因此同一网页在不同内核的浏览器里的显示效果可能不同
为了方便地访问在世界范围的文档,万维网使用统一资源定位符URL来指明因特网上任何种类“资源”的位置
URL由四个部分组成
例如
万维网文档
超文本标记语言HTML:使用多种“标签”来描述网页的结构和内容
层叠样式表CSS:从审美的角度来描述网页的样式
JavaScript:一种脚本语言用来控制网页的行为
超文本传输协议HTTP
HTTP定义了浏览器(即万维网客户进程)怎样向万维网服务器请求万维网文档,以及万维网服务器怎样把万维网文档传送给浏览器
HTTP/1.0采用非持续连接方式。在该方式下,每次浏览器要请求一个文件都要与服务器建立TCP连接,当收到响应后就立即关闭连接
每请求一个文档就要有2倍的RTT的开销
HTTP/1.1采用持续连接方式,为进一步提高效率,HTTP/1.1的持续连接还可使用流水线方式工作
持续连接方式:(一次请求,持续连接)
服务器发送响应后仍保持连接,使同一个客户(浏览器)和该服务器可以继续在这条连接上传送后续的HTTP请求报文和响应报文
非持续连接方式:(一次请求,响应后断开)
每次浏览器要请求一个文件都要与服务器建立TCP连接,当收到响应后就立即关闭连接
流水线方式:(多个请求,接续响应)
即浏览器收到HTTP响应前就能够连续发送多个请求。这样一个接一个请求到达服务器后,服务器发回一个接一个响应。节省了很多个RTT
非流水线方式:(一个请求,一个响应,一个请求……)
只有收到上个请求响应,才能发送下个请求
HTTP报文格式
HTTP是面向文本的,其报文中的每一个字段都是一些ASCII码串,并且每个字段的长度都是不确定的。
HTTP请求报文格式
HTTP响应报文格式
响应报文中常见的状态行
使用Cookie在服务器上记录用户信息
Cookie原理
万维网缓存(Web缓存)与代理服务器
万维网缓存又称为Web缓存(Web Cache),可位于客户机,也可位于中间系统上,位于中间系统上的Web缓存又称为代理服务器(Proxy Server)
Web缓存把最近的一些请求和响应暂存在本地磁盘中。当新请求到达时,若发现这个请求与暂时存放的请求相同,就返回暂存的响应,而不需要按URL的地址再次去因特网访问该资源
若局域网中的主机要向因特网中原始服务器访问时,首先会访问局域网中的代理服务器,若代理服务器存放有所请求的对象,则代理服务器发回响应
若代理服务器存没有存放所请求的对象,则向原始服务器发送请求
若原始服务器中修改了文档,而代理服务器中的副本没有修改文档,则用户得到的文档不是最新文档,为文档设置Last-Modified、Expires字段,每次代理服务器请求原始服务器时,检查文档的修改日期、是否已过期等,若修改日期和最新修改日期不同,则给代理服务器响应最新文档