配色: 字号:
第十一课 Http协议
2020-12-22 | 阅:  转:  |  分享 
  
从图中我们可以看到原理主要分三步:第一次请求:浏览器通过http的header报头,附带Expires,Cache-Control,Las
t-Modified/Etag向服务器请求,此时服务器记录第一次请求的Last-Modified/Etag
再次请求:当浏览器再次请求的时候,请求头附带Expires,Cache-Control,If-Modified-Si
nce/Etag向服务器请求服务器根据第一次记录的Last-Modified/Etag和再次请求的If-Modified-Sin
ce/Etag做对比,判断是否需要更新,服务器通过这两个头判断本地资源未发生变化,客户端不需要重新下载,返回304响应。常见流程
如下图所示:教师:王晓玲QQ:4260924邮箱:4260924@qq.com
Node.js开发主要内容上节知识回顾HTTP协议认识HTTP协议报文结构HTTP基本概念协议
:指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,HTTP:(HyperTextTransferProt
ocol,超文本传输协议)是一种应用层的通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器。虽然在
2015年已推出HTTP/2版本,并被主要的web浏览器和web服务器支持,但目前使用最广泛的还是HTTP/1.1版本。HTTP
数据传输Web服务器,浏览器,代理服务器实际上当输入URL后,浏览器给Web服务器发送了一个Request,We
b服务器接到Request后进行处理,生成相应的Response,然后发送给浏览器,浏览器解析Response中的HTML,这样
我们就看到了网页,过程如下图所示RequestResponseHTTP数据传输Web服务器,浏览器,代理服务器
我们的Request有时不能直接到达服务器,有可能是经过了代理服务器,最后才到达Web服务器,过程如下:Request
RequestResponseResponseHTTP请求报文HTTP请求报文包含:请求行、请求头和请求内容三部分请求行
:请求方式、网页路径和协议版本请求方式:GET和POST网页路径url:不含域名地址的网页地址,如:/abc/page1.p
hp?&CatId=12协议版本号:http/1.1请求头:相关请求的其他相关信息,一项一行,行末以”\r\n”结束
Host:所有请求的主机名Accept-Language:浏览器可以接受的语言类型Ac
cept-encoding:浏览器可以接受的压缩方式User-Agen:请求的代理端信息(谁发出的这个请求)
Connection:连接类型,keep-alive(保持激活,HTTP/1.1新增功能),close(立即关闭)请求
主体(内容):一般就是post出去的数据,get数据在网页路径中就已经体现了HTTP请求方法根据HTTP标准,HTTP请求可以
使用多种请求方法。HTTP1.0定义了三种请求方法:GET,POST和HEAD方法。HTTP1.1新增了五种请求方法:
OPTIONS,PUT,DELETE,TRACE和CONNECT方法。HTTP报文实例POST方法的请求报文的实例
,如下图所示:HTTP响应报文HTTP响应报文与HTTP请求报文是对应的,也分为三个部分:1、响应行:主要是设置响应状态等信
息2、响应头:而设置Cookie,缓存等信息就是在响应头属性设置的3、响应体:如果请求的是HTML页面,那么返回的就是HTML
代码。如果是JS就是JS代码HTTP响应报文状态码HTTP状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后
两个数字没有分类的作用。HTTP状态码共分为5种类型:HTTP浏览器的缓存浏览器缓存:包括页面html缓存和图片js
,css等资源的缓存。如下图,浏览器缓存是基于把页面信息保存到用户本地电脑硬盘里。缓存的优点:1)服务器响应更快:
因为请求从缓存服务器(离客户端更近)而不是源服务器被相应,这个过程耗时更少,让服务器看上去响应更快。2)减少网络带宽消
耗:当副本被重用时会减低客户端的带宽消耗;客户可以节省带宽费用,控制带宽的需求的增长并更易于管理。HTTP缓存的工作原理页
面缓存状态是由httpheader决定的,一个浏览器请求信息,一个是服务器响应信息。主要包括Pragma:no-cache、C
ache-Control、Expires、Last-Modified、If-Modified-Since。其中Pragma:
no-cache由HTTP/1.0规定,Cache-Control由HTTP/1.1规定。HTTP协议特点主要特点可概括如下
:1、支持客户/服务器模式。2、简单快速:客户向服务器请求服务时,只需传送请求方法和路径。由于HTTP协议简单,使得HTTP服
务器的程序规模小,因而通信速度很快。3、灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标
记。4、无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可
以节省传输时间。5、无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面
的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。为了解决这个问题,
Web程序引入了Cookie机制来维护状态。从图中我们可以看到原理主要分三步:第一次请求:浏览器通过http的header报头
,附带Expires,Cache-Control,Last-Modified/Etag向服务器请求,此时服务器记录第一次请求的La
st-Modified/Etag再次请求:当浏览器再次请求的时候,请求头附带Expires,
Cache-Control,If-Modified-Since/Etag向服务器请求服务器根据第一次记录的Last-Modified/Etag和再次请求的If-Modified-Since/Etag做对比,判断是否需要更新,服务器通过这两个头判断本地资源未发生变化,客户端不需要重新下载,返回304响应。常见流程如下图所示:
献花(0)
+1
(本文系中转站199首藏)