http协议及原理分析 1

1:200与304的区别

浏览器第一次加载成功返回200状态,并会在浏览器的缓存中记录下 max-age 这个值。第二次发起服务器的访问时 会先看缓存中有没有要加载的资源 如果有 再去看有没有超出 max-age 的范围,如果超出 则重新请求服务器获得资源;如果没有超出max-age值 会从浏览器的缓存中取出资源 此时返回给浏览器304状态。 缓存的作用就显现出来 避免多次对服务器发起请求 减轻网络压力。

尽量减少网页的请求资源数量!尽量合并JS CSS 图片!响应速度将会猛增!

2:http简介

http:超文本协议,从www服务器传输超文本到本地浏览器的协议。

作用:安全 高效 可以指定输出的文档部分,以及哪部分内容首先显示(如文本先于图形)等。

http是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。HTTP是一个无状态的协议。

3:扩展:网络协议

无论你是在互联网还是局域网  只要想上网就必须遵循网络协议 网络协议主要分为三个:TCP/IP协议IPX/SPX协议NetBEUI协议等;当然其中最广泛的CIP/IP互联网协议。

为了使不同计算机厂家生产的计算机能够相互通信,以便在更大的范围内建立计算机网络国际标准化组织(ISO)在1978年提出了“开放系统互联参考模型”,即著名的OSI/RM模型(Open System Interconnection/Reference Model)。它将计算机网络体系结构通信协议划分为七层,自下而上依次为:物理层(Physics Layer)、数据链路层(Data Link Layer)、网络层(Network Layer)、传输层(Transport Layer)、会话层(Session Layer)、表示层(Presentation Layer)、应用层(Application Layer)。

其中第四层完成数据传送服务,上面三层面向用户。对于每一层,至少制定两项标准:服务定义和协议规范。前者给出了该层所提供的服务的准确定义,后者详细描述了该协议的动作和各种有关规程,以保证服务的提供。
应用层
表示层
会话层
传输层
网络层
数据链路层
物理层

层次结构分析:

由于网络节点之间联系的复杂性,在制定协议时,通常把复杂成分分解成一些简单成分,然后再将它们复合起来。最常用的复合技术就是层次方式网络协议的层次结构如下:
(1)结构中的每一层都规定有明确的服务及接口标准。
(2)把用户的应用程序作为最高层
(3)除了最高层外,中间的每一层都向上一层提供服务,同时又是下一层的用户。
(4)把物理通信线路作为最低层,它使用从最高层传送来的参数,是提供服务的基础。
网际层协议:包括:IP协议、ICMP协议、ARP协议、RARP协议。
传输层协议:TCP协议、UDP协议。
应用层协议:FTP、Telnet、SMTPHTTPRIPNFSDNS

4: 在TCP/IP协议栈中的位置

HTTP协议通常承载于TCP协议之上,有时也承载于TLS或SSL协议层之上,这个时候,就成了我们常说的HTTPS。如下图所示:

深入理解HTTP协议及原理分析

默认HTTP的端口号为80,HTTPS的端口号为443。

5: HTTP的请求响应模型

HTTP协议永远都是客户端发起请求,服务器回送响应。见下图:

HTTP的请求响应模型

 这就导致了一个问题:当客户端没向服务器发起请求时,服务器无法向客户端扔出数据。因为http是一个无状态的协议,所以一个请求跟另一个请求是没有对应关系的。

6:http工作流程;

分为四步:

1)首先客户机与服务器需要建立连接。只要单击某个超级链接,HTTP的工作开始。比如点击a链接的开始。

2)建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。可以理解为请求的链接。

3)服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。httpResponse。

4)客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与服务器断开连接。前端的展示。

原文地址:https://www.cnblogs.com/mamimi/p/6900891.html