网站模板代码开发的基础知识是什么?
有没有关于制作网页代码的教程?
我们都知道网页是由大量的源代码组成的,浏览器翻译显示了我们看到的效果。网站模板代码可以分为动态源码和静态源码,如果你想越来越了解它们,那就来看看下面樊子总结一下给大家做网页代码教程吧!
◆
动态源代码 ◆
动态源代码的更大特点是它可以与用户交互。例如,如果用户登录邮箱,它会显示“XXX hello”,并且不同用户使用的名称不同,因此看到的敬语称谓也不同。这不是为每个用户量身定制的网页,而是动态源代码的功劳。动态源代码常用于峰会、留言板、聊天室等。但是,动态源代码会有一个很大的缺点,那就是不容易被搜索引擎索引。
◆
静态源代码 ◆
静态源代码和动态源代码
是相反的编程网站模板,所以它不具备上面提到的动态源代码的功能,但也可以很容易地被搜索引擎索引。因此,为了提高网站的收录率,提高网站排名,建站者经常使用静态源代码。
◆
动态网页和静态网页的区别◆
运行网站程序的终端是两者之间差异的重要标志。
服务器端运行的程序、网页和组件是动态网页;
程序、网页
、插件和客户端上运行的组件是静态网页。
动态网页和
静态网页具有不同的特征,网站使用什么样的网页取决于网站的功能和内容要求。假设网站比较简单编程网站模板,内容不多,静态网页可以首选;当对网站功能和内容的要求相对较高时,可以首选动态网页。
这
基本的Web代码教程在这里分享,如果你想获取网站模板,可以来这里,有3000+网页模板等着你带回来:[20t.fkw.com]。
到了 HTTP/1.1 之后,Expire 早已被 Cache-Control 所取代,因为 Expires 控制缓存的原理是利用客户端的时间与服务器返回的时间进行比较,所以如果客户端和服务器的时间是由于各个触发因素(比如不同的时区;如果客户端和服务器的时间不准确),那么强制缓存将直接失效,那么强制缓存的存在是没有意义的,那么缓存控制是如何控制的呢?
缓存控制
在 HTTP/1.1 中,Cache-Control 是最重要的规则,主要用于控制 Web 缓存,主要值为:
接下来,我们直接看一个例子,如下所示:
我们可以从前面的例子中看到:
由于缓存控制的优先级高于过期,因此缓存直接根据
值,表示如果在 600 秒内再次发起请求网站模板缓存,缓存结果将直接用于强制缓存生效。注意:在难以确定客户端的时间是否与服务器的时间同步的情况下,缓存控制是比过期更好的选择,因此只有缓存控制在同时存在时生效。了解了强制缓存的过程之后,我们来广泛思考一下:
浏览器的缓存存储在那里,如何在浏览器中确定强制缓存是否有效?
这里我们以博客的诉求为例,状态码为红色的恳求表示使用了强制缓存,请求对应的 Size 值表示缓存的位置,分别来自内存缓存和磁盘缓存。
那么从内存缓存和从磁盘缓存代表什么呢?何时从磁盘缓存使用,何时从内存缓存使用?从内存缓存
意味着使用来自视频内存的缓存,从磁盘缓存
表示使用硬盘缓存,浏览器读取缓存的顺序是内存 – >磁盘。虽然我已经直接说出了道理,但是相信很多人都不明白这一点,那么我们就来详细分析一下缓存读取问题,这里还是我的博客作为例子: 访问 – > 200 –> 关闭博客的选项卡 –> 重新打开 –> 200(从磁盘缓存) –>刷新 –> 200(从内存缓存) 过程如下:
看到这里,可能有人会问,刷新最后一步的时候,不是既有磁盘缓存也有内存缓存吗?
对于这个问题,我们需要了解视频内存缓存(来自内存缓存)和来自磁盘缓存(来自磁盘缓存),如下所示:
在浏览器中,
浏览器在解析后会直接将JS和图片等文件存储在内存缓存中,因此刷新页面时,只需要直接从内存缓存中读取即可;CSS文件存储在硬盘文件中,因此每次渲染页面时,都需要从硬盘中读取缓存。
协商缓存
协商缓存是强制缓存失效,浏览器携带缓存指示符到服务器发起请求,服务器端根据缓存
指标决定是否使用缓存处理,主要有以下两种情况:协商缓存生效,返回304,如下所示
协商缓存失效,返回 200 并请求结果结果,如下所示
同样,协商缓存的指示器
也与响应数据包的 HTTP 标头中的请求结果一起返回给浏览器,控制协商缓存的数组是:上次修改/如果修改以来和 Etag/如果无匹配,其中 Etag/If-None-Match 的优先级高于上次修改/如果修改自。
上次修改时间/如果修改时间上次
修改时间是服务器上次更改资源文件时服务器响应请求的时间,如下所示。
If-Modified-Since 是客户端再次发起请求时,它携带上一个请求返回的 Last-Modified 值,并通过此数组值告诉服务器上一个请求返回给资源的上次更改时间。服务器收到请求,发现请求方标头在 If-Modified-Date 数组中很丰富,它会将 If-Modified-Since 的数组值与服务器上资源的上次更改时间进行比较,如果服务器的资源上次更改小于 If-Modified-Since 的数组值,它将再次返回资源,状态代码为 200;否则返回 304,表示资源尚未更新,可以继续使用缓存文件,如下所示。
Etag / if-none-match
Etag 是服务器在响应请求时返回的当前资源文件的唯一指示(由服务器生成),如下所示。
If-None-Match 是客户端再次发起请求时,前一个请求返回的唯一标识符值,并通过此数组值告诉服务器资源上一个请求返回的唯一标识符值。服务端收到请求后网站模板缓存,发现请求方头中 If-None-Match 中内容丰富,会将 If-None-Match 的数组值与服务器上资源的 Etag 值进行比较,如果一致则返回 304,表示资源尚未更新,继续使用缓存文件;如果差异不一致,则返回资源文件的状态代码为 200,如下所示。
注意:Etag/if-none-match
的优先级低于“上次修改时间/如果修改时间”,并且只有 Etag/If-None-Match 生效。
总结强制缓存
优先于协商缓存,如果强制缓存(过期和缓存控制)有效,则直接使用缓存,如果无效,协商缓存(上次修改/如果
修改自和Etag/如果无匹配),协商缓存由服务器决定使用该缓存,如果协商缓存无效,则表示诉状的缓存无效,并重新获得诉状结果。 然后存储在浏览器缓存中;生效后返回304,继续使用缓存,主进程如下:
今天的干货
刚刚发布
发表评论