高级(二)扫盲(辅助varnish的理解)

说明1:本章可能比较枯燥无味,可以选择跳过

说明2:本章节是作为下面讲解varnish原理做知识铺垫

一、聊一聊请求响应模式

web浏览器可能是客户端,而计算机上的网络应用程序也可能作为服务器端!

1、  HTTP协议

           Internet的基本协议是TCP/IP协议栈(传输控制协议和网际协议),目前广泛使用的 FTP(文件传输协议)、HTTP(超文本传输协议)、Archie Gopher等都是建立在TCP/IP上面的应用层协议不同的协议对应不同的应用,而HTTP协议是Web应用所使用的主要协议。

           HTTP协议是基于请求响应模式的。客户端向服务器发送一个请求,请求头包含请求的方法(GET、POST、PUT等)、 URI、协议版本(第几版)、以及包含请求修饰符、客户端信息和内容的类似MIME的消息结果。服务器则以一个状态行作为响应,相应的内容包括消息协议的版本、成功 或者错误编码加上包含服务器信息、实体元信息以及可能的实体内容。

核心:GET 对比 POST

          HTTP是无状态协议,依赖于瞬间或者近乎瞬间的请求处理。请求信息被立即发送,理想的情况是没有延时的进行敕处理,不过延时还是客观存在的。HTTP有一种内置的机制,在消息的传递时间上由一定的灵活性:超时机制,一个超时就是客户机等待请求消息的返回信息的最长时间。

         无状态原因每一次请求和响应都是相对独立,web服务器不能记住同样的请求,所以可能会做一些重复的动作

         对比DNS是有状态协议

         解决策略:两种用于保持HTTP连接状态的技术就应运而生了,一个是Cookie,而另一个则是Session,兴起的原因!

         通常,客户端每次需要更新信息都必须重新向服务器发起请求,客户端收到服务器返回的信息后再更新屏幕内容。

         基于HTTP协议的C/S请求响应机制的信息交换过程包括四个步骤

(1)建立连接:客户端与服务器建立TCP连接;

(2)发送请求:打开一个连接后,客户端把请求消息送到服务器的相应端口上,完成请求动作提交;

(3)发送响应:服务器在处理完客户端请求之后,要向客户端发送响应消息;

(4)关闭连接:客户端和服务器双方都可以通过关闭套接字来结束TCP/IP对话

前端必备HTTP技能之HTTP请求头响应头中常用字段详解

###################

从用户输入URL到浏览器呈现页面经过了哪些过程

注意:关注数据在各层的走向

OSI七层结构的简便理解记忆方法

七层和四层的区别

了解:不同的协议在OSI七层模型中的哪一层!

##################

问题:在开发中视频资源比较大,所以不会放到数据库中,只在数据库中存储一个地址,数据库中存储的是URL还是URI?

这篇文章的最后给出了隐晦的答案

说明:你不能保证客户端是一定是通过某种协议去访问的,所以选择URI!

了解:URL和URI

(1)统一资源定位符:URL(uniform resource locator),

URL组成:是由协议、域名、端口、文件名来组成的

协议(或称为服务方式)
②存有该资源的主机IP地址(包括端口号)
③主机资源的具体地址。如目录和文件名等

例子:http://172.25.2.200:8080/index.html
 
结构: 协议:// IP地址(域名):端口 / 文件名

# 说明:如果访问是80端口,访问默认的index页面,端口和文件可以不写!

注意:静态页面和动态页面!

(2)统一资源标识符:URI(uniform resource identifier )

作用:来表示抽象或物理资源

二者的区别:URL是URI的子集,让URI能成为URL的当然就是那个访问机制(http、ftp协议),具体就是网络位置

URL更细化:它包含了定位Web资源的足够信息

(3)统一资源名称: URN(Uniform Resource Name)

URI 还包括一个子类,即统一资源名称 (URN),它命名资源不指定如何定位资源!

URN是唯一标识的一部分,就是一个特殊的名字,因此 URN 可以引用多个 URL(类似别名)!

URN作用就好像一个人的名字,URL就像一个人的地址。换句话说URN确定了东西的身份,URL提供了找到它的方式

什么是URI,URL以及URN,你真的理解了吗

#################

请求响应的过程

(1)TCP的三次握手建立可靠连接

(2)客户端发送请求

(3)服务器接受请求、解析请求、处理请求、响应客户端

(4)TCP的四次挥手释放

说明:在性能优化的过程中,可以做操作的部分!

注意:TCP连接的一些状态。在做性能优化的时候可能会用到

参考:一篇文章搞定前端面试

TCP和UDP的区别

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值