第六章 CSP 架构 - 静态文件
第六章 CSP 架构 - 静态文件
静态文件
数据库服务器为所有 CSP
提供服务。 数据库服务器还可以通过 CSP
网关为 Web
应用程序提供任何类型的静态文件。在标准 Web
应用程序中,Web
服务器通常提供静态内容。要在 Caché
上运行 Zen
应用程序,必须配置 Web
服务器以允许服务器通过 CSP
网关提供所有静态文件。
注意:要运行基于 Zen
的应用程序,请启用“服务文件”选项并配置 Web
服务器以允许 Caché
服务器提供静态文件。然后 Zen
框架将能够提供依赖图像和 JavaScript
帮助文档。
指示字符编码
CSP
引擎通过流服务器以与主流 Web
服务器一致的方式处理静态文件,以确定 JavaScript
文件的字符编码。
现代惯例是将所有 JavaScript
文件标记为 application/javascript
的 Content-Type
,并且确保页面上使用的所有 JavaScript
文件都是这种情况。
以这种方式标记的 JavaScript
文件:
- 如果文件包含
BOM
(字节顺序标记),浏览器会自动检测到这一点并使用正确的字符集来读取它。 - 如果该文件不包含
BOM
,则浏览器假定该文件是UTF-8
。
如果需要覆盖此行为以指定 JavaScript
文件的字符集,请将全局 ^%SYS("CSP","MimeFileClassify","JS")
设置为列表值 $listbuild(contenttype, binary, charset)
。例如,
SET ^%SYS("CSP", "MimeFileClassify", "JS") = $listbuild("text/javascript", 0 ,"ISO-8859-1")
这将设置较旧的内容类型并使用 ISO-8859-1
字符集。此外,如果 转换表被定义为非空字符串或全局节点 ^%SYS("CSP","DefaultFileCharset")
设置为空值,则 将为所有 JavaScript
使用此字符集和其他文本文件。默认情况下,这些全局节点均未设置。
启用服务文件选项
CSP
应用程序的“服务文件”选项打开(始终)或关闭(否),或者 CSP
网关可以缓存 Web
服务器上的静态文件(始终和缓存)。 Always and cached
设置提高了效率,因为系统可以提供缓存的静态页面而无需返回到 Caché
服务器)。要运行 Zen
应用程序,必须使用始终或始终和缓存设置启用服务文件选项。
配置 Web
服务器以允许缓存服务器提供静态文件
配置 Web
服务器以允许 Caché
服务器提供静态文件。
默认情况下,提供的安装脚本不会查找或配置外部 Web
服务器。如果运行自定义安装,可以选择该选项来配置任何以前安装的 IIS 或 Apache Web
服务器以启用 CSP
支持。安装脚本创建 /csp
虚拟目录,并为要由网关处理的 .csp
、.cls
、.zen
和 .cxw
扩展创建映射。这足以使 CSP
通过该 Web
服务器正常运行。它不支持服务文件功能。为此,必须手动配置 Apache
或 IIS
以映射要通过网关处理的特定文件扩展名。这是设计使然,因为通过这种机制将数据库服务器暴露在外是一种安全风险,不应该以无形的方式进行。
从 Web 服务器提供静态文件
如果愿意,仍然可以使用从 Web
服务器提供静态页面的传统配置,例如,如果已经以这种方式设置了 Web
应用程序。 (在这种情况下,Static Files
选项的设置无关紧要。)当一个公共 Web
服务器为两个不同版本的 提供服务时,这消除了争用,每个版本都需要某些静态文件的不同版本(例如,hyperevent broker
组件)。
如果您已将 Web
服务器本身配置为提供静态文件,请确保静态内容存在于每台 Web
服务器上。
相关文章
- Eclipse导入工程改工程名,改文件(类)名,改变量名---改名全集
- [Android Security] 静态分析Android程序——smali文件解析
- css-theme 通过一套源码生成一份包含多套皮肤配置的样式文件
- Android_(控件)使用ListView显示Android系统SD卡的文件列表_02
- node —— 静态资源文件管理
- struts.xml文件中package元素的各大属性讲解
- 静态资源打包:一个javescript 的src引用多个文件,一个link引用多个CSS文件
- Nestjs 设置静态文件,public
- manifest.json文件介绍
- 一个伪静态与404重定向例子(房产网),.htaccess文件内容
- php解析mpp文件中的多级任务
- 大叔经验分享(74)nginx对静态文件加速
- 编码问题:python写入文件
- 【SSH网上商城项目实战13】Struts2实现文件上传功能
- ASP.NET Core静态文件中间件[1]: 搭建文件服务器
- 关于如何能够快速找到某个文本在所有文件中的出现位置
- 推荐一个一分钟就可以搭建好的静态文件服务器,基于nodejs
- linux服务器上运行python文件
- 文件操作权限
- PHP代码为什么不能直接保存HTML文件——>PHP生成静态页面教程
- C/C++使用技巧(二十二):再谈C/C++多文件编译生成与调用的静态库/动态库[本文所有源码分享]
- 获取文件信息
- Spark读取本地文件时报错:java.io.FileNotFountException:file doesn't exist
- adobe Air在macOS Catalina 10.15上无法打开,说Adobe AIR.framework文件损坏
- OS实验七【文件管理】