应用层-day02

web与HTTP

web的应用层协议时超文本传输协议(HyperText Transfer Protocol HTTP)

HTTP是由两个程序实现的:一个客户端程序和一个服务器程序。

HTTP定义了web客户向web服务器请求web页面的方式,以及服务器向客户发送web页面的方式。

Web浏览器是实现了HTTP的客户端,Web服务器是实现了HTTP的服务器端(如Tomcat等)

HTTP协议是一个无状态的协议,这里指:服务端并不会保存客户端的信息。

非持续连接:每个请求响应对是经过一个单独的TCP连接发送。

持续连接:每个请求响应对是经过同一个TCP连接发送的。

明显的,持续连接的响应总时长会更短。而且也是HTTP采用的默认形式。

 

报文格式:

这个就讲了些请求头,响应头,什么的一些信息,价值不大。

 

cookie:用户与服务器的交互。

允许站点对用户进行跟踪。

cookie有四个组件:1.在HTTP响应报文中的一个cookie首部行。2.在HTTP请求报文中的一个cookie首部行。3.在用户端系统中保留有一个cookie文件,并由用户浏览器管理。4.位于web站点的一个后端数据库。

常用于因特网购物活动等类似的场景,为用户提供身份表示,以在没有状态的HTTP中让服务端知道用户的每一步操作。

 

Web缓存:

web缓存器(web cache)也叫代理服务器(proxy server)

web 缓存器有自己的磁盘存储空间,可以存储最近请求过的对象的副本。

浏览器根据域名访问时的步骤如下:1.先向 web 缓存器发送 TCP 链接,查看是否有访问域名的副本。

                2.如果有的话,就将域名的副本用 HTTP 响应报文 返回。

                3.如果没有,就去改域名的原地址处建立 TCP 链接,同时 web 缓存器也会在该 链接上发送 HTTP 请求,以将该获取该域名的 HTTP请求副本。

                4.web缓存器接收到对象后,会将对象存储在本地副本中。

值得注意的是:web 缓存器既是客户端,又是服务器。

使用 web 缓存器的原因:1.减少客户请求的响应时间、2.减少整个因特网的web流量,从而改善所有应用的性能。

web 缓存器的存在促成了一种叫内容分发网络的概念(content Distribution Network CDN)

 

条件GET方法

解决缓存是否是陈旧对象的机制。

构成条件:1.请求报文使用GET方法、2.请求报文包含一个“If-Modified-Since”的首部行。

缓存器会发送带"If-Modified-Since"的日期信息,与服务器返回的Last-Modified进行比对,如果两者一致,服务器会返回一个响应报文,且该响应报文包含状态行:304 Not Modified。,该状态行告诉缓存器使用已经缓存过得副本即可。

 

posted @ 2018-03-15 20:32  萌新啊萌新是我  阅读(163)  评论(0编辑  收藏  举报