我不确定这部分。

说实话,我第一次看到这种网站的源代码时,脑子里闪过一句话——“这背后有多少人在转轮子?”如果你看这些脚本标签,一个又一个,从百度统计、用户行为跟踪到加载各种组件,感觉就像在组装一个微服务器。

有趣的是,我之前在知乎的代码中见过__IKNOW_GLOBAL__对象。
当时我还想知道为什么这个名字看起来那么像一个内部变量,但现在它似乎是通用的。
他们使用 require.async 来处理依赖项加载。
这种方法在AMD模块化中很常见,但是用在这个自建的问答系统中,感觉有点大材小用了——毕竟百度自家的产品还在担心加载慢?
当你看到help-team-navigation和search-box-new组件时,你可能会认为这些是知乎(或百度知乎)的核心功能。
不过我的印象是知乎搜索框以前没有这种风格。
去年修订后,显得更加简洁。
该代码可能是旧版本的残余,还是新架构的增量部署?
最让我好奇的是倒计时器,1 5 秒倒计时到首页。
我猜这是为了浏览器兼容性?比如IE1 0以下的版本强制跳转,但是为什么要花1 5 秒呢?我记得在ie6 时代这种跳转通常需要1 0秒,但现在需要更长的时间。
也许现在IE用户的比例太低了,他们正在努力变得更加宽容?
还有BaiduHttp的回调,显然是处理https跳转逻辑的。
有趣的是,他们使用 con?from=zhidao 参数来区分知道和百度搜索,这表明知道和百度搜索后端可能仍然有些脱节。
我自己没有运行过这个。
我记得数据是2 02 3 年的,我知道搜索渗透率略高于5 0%,但我建议你检查一下当前的具体数字。

在这堆代码中你可以看到很多历史的痕迹。
例如,tangram.js 库当时被大量使用,现在您仍然可以在知乎上看到它的残余。
他们还使用 store.js 来处理本地存储。
虽然现在本地浏览器localStorage用的比较多,但出于兼容性考虑还是保留旧的方案比较方便。

说实话,这种后端代码比前端模板更能体现产品迭代的思想。
比如穿戴式更新组件,我们可以看到之前知乎的用户头像更新逻辑相当复杂,但现在知乎头像改版后就简单多了。
他们还使用placeholder.js来处理表单占位符,可见当时支持较低版本的IE是多么困难。

最后我看到了 footer.js 参考。
这个东西其实用的是二级域名https://iknow-zhidao.bdimg.com。
不知道是历史遗留还是特殊的内部配置。
这种域名级别,除非有像百度这样的系统产品,否则普通人还真用不了。

这些细节一起可以描述产品开发路径。
例如,前缀 common-new 可能是 2 02 2 年修订后新架构的代号。
他们将所有模块都写入了pkg,这表明他们考虑了代码重用和缓存,尽管现在CDN和模块化工具效率更高。

数据 我记得知道Q&A的日活跃用户到2 02 4 年才勉强突破1 000万,但是这个代码结构看起来像2 02 5 年的版本。
我自己没有运行过这个,所以建议你和操作同学确认一下具体的部署时间。

linux系统中查看防火墙以及开放端口号命令

检查防火墙状态:systemctl statusfirewalld 启动防火墙:systemctl start firewalld 关闭防火墙:systemctl stopfirewalld 取消屏蔽:systemctl unmask firewalld.service 查看开放端口:firewall-cmd --zone=public --list-ports 检查端口监听:netstat -an | grep 端口号 查询端口开放状态:firewall-cmd --query-port=端口号/协议
实用提醒:定期检查端口,确保安全。

百度一下就知道,页面加载脚本有很多。
都是JS文件,加载速度慢。
建议优化文件,合并文件,减少请求。
具体效果还要看测试数据。
你自己掂量一下吧。