web 伪静态、301重定向、反向代理
伪静态是什么?伪静态与纯静态有什么区别?
一、什么是动态网页
用户在浏览网页时,内容从后台数据库里实时调取出来,然后渲染到网页上的,这种网页称为动态网页。动态URL一般是不太规则的,比如:aaa.com/news.php?id=20&class=2,类似这种带参数的网址甚至更长。动态页面的好处是不占用服务器空间,内容实时显示更新的内容。但有一个缺点就是这样的动态页面的URL构成常常带一个”?”加参数来读取数据库数据,这样的动态链接在搜索引擎收录方面不够友好。
二、什么是伪静态
伪静态就是动态网页通过重写URL的方式实现去掉动态网页的参数,网站后台程序要有支持伪静态功能,并且服务器要支持伪静态重写。举例:aaa.com/news.php?id=20 这样一个动态页,为了对搜索引擎更加友好,通过伪静态的方式将URL重写成aaa.com/news/20.html 这种格式的静态页面。
从URL结构以及页面名称看,伪静态和纯静态页面是一样的,伪静态的页面后缀可以是html、htm或者是目录格式。但伪静态只是改变了URL的表现形式,实际上还是动态页面,所以伪静态仍是消耗动态资源。
三、什么是纯静态
纯静态网页是标准的HTML文件,直接存放于服务器硬盘上,文件扩展名一般是.htm、.html。相对于动态网页而言,是指没有后台数据库、不含程序和不可交互的网页,一般网站后台内容管理系统具备生成静态页面的功能,直接生成静态网页。静态网页更新起来比较麻烦,比如所有文章页面要加上一张横幅图片,那么全站所有文章要重新程序生成一次,数据量大的话考验程序及服务器性能。
四、伪静态与纯静态有什么区别
其实纯静态和伪静态从外观上看区别不大,网址都有较好的目录层次结构,便于搜索引擎抓取和索引,不同的是纯静态是真实生成的HTML文件,这些文件提前生成好存放在服务器网站目录里,当有用户访问我们的网页时,就从服务器目录读取相应的HTML文件进行显示,就无需再走“执行后端代码、从数据库查询数据、渲染网页”这几个过程,对服务器压力更小,进而提高网页加载速度,这对搜索引擎要求的网页打开速度有一定的帮助。
五、伪静态与纯静态的优缺点
生成真实静态页面优点是缓解服务器压力,提升打开速度。但最大缺点是每次在网站后台修改网页内容都需要重新生成静态页面,无法实时显示更新的内容,当网站内容多了,占用的空间大小以及每次生成静态页面所耗费的服务器资源也不容小觑(有出现内容过多且一次性生成静态页面而导致服务器崩溃的案例)。
而伪静态依然是通过动态调用服务器实时生成的页面,优点是便于内容维护,但占用一定服务器资源,包括数据库方面。打开速度上现在有缓存及CDN加速服务等,所以就算是伪静态页面在加载速度上也很快,差距在缩小。
六、网站使用伪静态还是纯静态
关于这方面,大家可以根据实际业务需求来判断,比如网站的流量不是很大,在不影响服务器正常使用的情况下,网站能正常访问,无论是伪静态还是静态都可以;但如果网站流量大,而服务器硬件配置不够的情况下,那么选择页面静态化会更好些,或者对于一些访问量较大的页面静态化处理也是不错的方法。
301重定向
一:301是什么重定向
301重定向是SEO的一个非常重要的设置,它将用户和搜索引擎转移到正确的域名上,网站重新定位到另一个域名,301重定向从URL跳转到另一个URL,它是永久转让的搜索引擎网站访问者的代码,通过301重定向,搜索引擎和网站的访问者,将被迫转移到配置URL上。
二:为什么必须设置301重定向
1.301重定向是对网站的重新定位,因为您需要将访问某个域名或页面,由于其他原因转移到另一个域名或页面。
2.为了不将搜索引擎优化的评价降低为搜索引擎中的重叠内容,通过301重定向,我们通过从几个页面指定一个常规页面来避免搜索引擎惩罚,例如不带www的域名跳到带www的域名上,或者index.html的后缀跳到不到index.html页面上。
三:如何设置301重定向
1.301重定向的方法有很多,但是不同的服务器设置方法也是不一样的,在宝塔服务器上,找到网站管理,在网站管理中有一个301选项,然后进行设置301跳转。
2.也可以使用.htaccess文件进行设置301
RewriteEngineOnRewriteCond%{HTTP_HOST}^aaa.com [NC]RewriteRule^(.*)$ http://www.bbb.com/$1 [L,R=301].
以上不是http的301跳转方式,如果想要进行https301跳转的话,代码中就要加一个https,如下:
RewriteEngineOnRewriteCond%{HTTPS}!^on$ [NC]RewriteCond%{HTTP_HOST}^(www.)?aaa.com$ [NC]RewriteRule^(.*)$ https://www.bbb.com/$1 [R=301,L]
四:301的检测
当我们301重定向之前,一定要检测有没有成功,最简单的方法就是使用爱站工具进行检测,网址:https://tools.aizhan.com/pagestatus/如果出现返回码是301的话,则比较设置成功。
HTTP代理和反向代理
https://blog.csdn.net/csxylrf/article/details/130933762
直接访问
就是从客户端直接访问服务端,相当于我直接去厂家买可乐,没有中间商赚差价
HTTP代理
HTTP代理指在客户端先访问代理服务器,然后由代理服务器去访问服务端,代理服务器收到响应后再转发个客户端,就像我去商店买可乐的过程
配置代理服务器 浏览器并不知道代理服务器的位置,所以我们要主动告诉浏览器我们的代理服务器
反向代理
如果说正向代理是主动找代理服务器转发,那么反向代理就是被代理了,客户端并不知道自己的请求被代理了,所以这个过程不需要客户端设置
相当于我去厂商买汽水,我以为厂商是源头,结果厂商也是从别的地方进货
好处
负载均衡:反向代理可以根据负载情况,将客户端的请求分发到多台后端服务器上,从而实现负载均衡,提高了整个系统的性能和可用性。
安全性:反向代理可以隐藏后端服务器的 IP 地址和域名,提高了服务器的安全性。同时,反向代理还可以使用一些安全控制策略,如防火墙、访问控制、反垃圾邮件等,来保护后端服务器免受攻击。
缓存:反向代理可以缓存静态资源,如图片、样式表、JavaScript 文件等,从而减少客户端的请求次数,提高了访问速度。同时,反向代理还可以使用一些缓存策略,如缓存时间、缓存大小、缓存策略等,来优化缓存效果。
灰度发布:反向代理可以实现灰度发布,即在不影响正式用户的情况下,逐步将新版本的功能发布给部分用户进行测试。反向代理可以根据一些规则,如用户 ID、IP 地址等,将请求分发给不同的后端服务器,从而实现灰度发布。
拦截和重定向:反向代理可以拦截客户端的请求,并根据一些规则对请求进行过滤或重定向,从而实现一些定制化的需求,如限制访问、重定向某些 URL 等。