javascript - 如何查看网站是客户端呈现还是服务器端呈现?
问题描述
因此,SSR意味着服务器发送一个完整打包的 html、css 和 js 文件,而CSR只发送空 html 并且客户端再次获取 js 以填充页面上的数据。
我想形象化这一点。有什么办法可以让我看到“空的 html”或“完全打包的 html css js”文件,这样我就可以更清楚地看到我所看到的。
任何帮助,将不胜感激。非常感谢。
解决方案
实际上,服务器端渲染和客户端渲染之间没有硬性界限。大多数会调用 CSR 的应用程序仍然会在其服务器响应中发回 html,有时甚至会发送很多 html。大多数会调用 SSR 的应用程序仍然会对其页面的 html 进行细微调整以响应用户事件。
例如,假设您正在为底部有用户评论的文章提供页面。您的服务器可以:
- 在将完成的 html 发送到客户端之前,在服务器上构建所有 html,包括所有评论的内容。这是SSR。
- 在那里建立一个包含大量 html 的大纲(导航、要填充的空框等),然后发送。具体的评论和文章内容会在客户端填写。这将被称为企业社会责任。
- 发回一个带有脚本的空 html 文档,该文档将填充整个内容。这绝对是企业社会责任。
对我来说,完全 SSR 应用程序的最大特点是,如果您保存某些内容/进行一些将持续存在的更改,页面通常会作为保存的一部分重新加载。CSR 应用程序更有可能保存并可能重绘页面的某些部分,而无需完全重新加载。
最后一点,要查看在浏览器中呈现了多少 html,您可以view source
与element inspector
开发工具中的工具进行比较。如果您右键单击 -> 查看源代码,您将准确看到服务器发送的内容。但是,如果您右键单击 -> 检查元素并使用您的开发工具查看 html,您将看到现在的所有内容,即在完整的客户端渲染之后。如果它们相同,这是一个 SSR 应用程序,它们越不相同,CSR 就越多。
推荐阅读
- javascript - 使用exif在javascript中旋转图像
- linux - 在特定目录中运行的可执行 Makefile
- python - 使用python将特定节点从xml文件复制到新节点
- java - 片段工具栏中的后退按钮
- command - 在 Octave 中使用字符串调用命令
- sql-server - 批量插入索引格式的 DAT 文件与 FMT 格式文件错误
- django - Django 中的用户追随者模型。显示用户名而不是用户关注的人的电子邮件
- tensorflow - 我对 tensorflow/tfjs LSTM inputShape 以及 LSTM 基本理解有疑问
- google-chrome - 由管理员设置时获取 Chrome 代理设置
- android - 如何从反编译的APK源代码中区分特定类是app代码还是库代码?