第四十四章 Web 网关返回的 HTTP 响应标头

2024-04-06 10:20

本文主要是介绍第四十四章 Web 网关返回的 HTTP 响应标头,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 第四十四章 Web 网关返回的 HTTP 响应标头

第四十四章 Web 网关返回的 HTTP 响应标头

IRIS® 中的 Web 应用程序(包括基于 REST 的应用程序)通常负责制定完整的 HTTP 响应标头。出于性能原因,Web 网关默认将响应标头以及以下内容通过 Web 服务器直接流式传输到客户端。这种操作模式称为非解析标头 (NPH) 方法。 Web 网关不会通过服务器提供的专用 API 函数将响应标头传回,从而授予托管 Web 服务器对响应标头的任何控制权。假设需要读取和解释响应头指令的是客户端而不是 Web 服务器。

然而,如果 Web 服务器需要解释响应标头,以便进一步调用 CSP 引擎生成的标头指令中隐含的基于 Web 服务器的功能,则这种假设就会失效。例如,通过调用输出过滤器来进一步调用处理响应(压缩和加密实用程序等)。通常发现此类输出过滤器不适用于根据非解析标头操作模式返回的 CSP 内容。

存在一种工具来指示 Web 网关通过托管 Web 服务器显式传递响应标头,而不是将它们直接流式传输到客户端。

要使用此功能,请设置以下 CSP 标头指令:CSP-nph: false

该指令必须在 OnPreHTTP() 方法中设置。例如:

<script language=objectscript method=OnPreHTTP arguments=""
returntype=%Boolean>
Do %response.SetHeader("CSP-nph", "false")
Quit 1 </script>

当设置为 false 时(Web 网关的默认设置为 true),CSP-nph 指令可确保通过从 CSP 引擎返回的响应标头正确通知托管 Web 服务器有关响应的性质。结果,可以根据需要执行任何进一步的处理。这是解析标头模式。

Web 网关在解析标头模式下运行时,托管 Web 服务器会解释响应标头,并可能添加自己的标头指令。至少它会在响应中添加一个服务器标头。例如:

Server: Apache/2.0.48 (Win32)OR:Server: Microsoft-IIS/5.1

请注意,此功能仅适用于直接与 Web 服务器 API 配合使用的 Web 网关实现。换句话说:除了 CGI 之外的一切。

如果使用 Web Gateway CGI 模块并且需要此工具,则必须将 Web 服务器配置为使用 CSP CGI 模块的非NPH 版本。例如,使用 CSPcgi 而不是 nph-CSPcgiCGI 模块名称中使用的 nph- 前缀是通知 Web 服务器不需要读取和解释模块返回的响应标头的标准方式:换句话说,在非解析标头模式下运行。

这些模块的解析版本和非解析版本之间的本质区别在于 HTTP 响应状态行的制定方式。这是标题块中的第一行。

对于已解析的标头,请按如下格式设置 HTTP 状态行的格式:

Status: <status_code>

示例:

Status: 200 OK

对于未解析的标头,HTTP 状态行的格式如下:

HTTP/1.1<status_code>

示例:

HTTP/1.1 200 OK

Web Gateway 附带的 CGI 模块会在内部自动处理这些差异。 CSP 引擎始终返回标准 HTTP 标头块 (2)。

这篇关于第四十四章 Web 网关返回的 HTTP 响应标头的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/879679

相关文章

解决JavaWeb-file.isDirectory()遇到的坑问题

《解决JavaWeb-file.isDirectory()遇到的坑问题》JavaWeb开发中,使用`file.isDirectory()`判断路径是否为文件夹时,需要特别注意:该方法只能判断已存在的文... 目录Jahttp://www.chinasem.cnvaWeb-file.isDirectory()遇

JavaWeb-WebSocket浏览器服务器双向通信方式

《JavaWeb-WebSocket浏览器服务器双向通信方式》文章介绍了WebSocket协议的工作原理和应用场景,包括与HTTP的对比,接着,详细介绍了如何在Java中使用WebSocket,包括配... 目录一、概述二、入门2.1 POM依赖2.2 编写配置类2.3 编写WebSocket服务2.4 浏

SpringBoot定制JSON响应数据的实现

《SpringBoot定制JSON响应数据的实现》本文主要介绍了SpringBoot定制JSON响应数据的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录前言一、如何使用@jsonView这个注解?二、应用场景三、实战案例注解方式编程方式总结 前言

详解Java如何向http/https接口发出请求

《详解Java如何向http/https接口发出请求》这篇文章主要为大家详细介绍了Java如何实现向http/https接口发出请求,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 用Java发送web请求所用到的包都在java.net下,在具体使用时可以用如下代码,你可以把它封装成一

Spring MVC如何设置响应

《SpringMVC如何设置响应》本文介绍了如何在Spring框架中设置响应,并通过不同的注解返回静态页面、HTML片段和JSON数据,此外,还讲解了如何设置响应的状态码和Header... 目录1. 返回静态页面1.1 Spring 默认扫描路径1.2 @RestController2. 返回 html2

Spring常见错误之Web嵌套对象校验失效解决办法

《Spring常见错误之Web嵌套对象校验失效解决办法》:本文主要介绍Spring常见错误之Web嵌套对象校验失效解决的相关资料,通过在Phone对象上添加@Valid注解,问题得以解决,需要的朋... 目录问题复现案例解析问题修正总结  问题复现当开发一个学籍管理系统时,我们会提供了一个 API 接口去

使用IntelliJ IDEA创建简单的Java Web项目完整步骤

《使用IntelliJIDEA创建简单的JavaWeb项目完整步骤》:本文主要介绍如何使用IntelliJIDEA创建一个简单的JavaWeb项目,实现登录、注册和查看用户列表功能,使用Se... 目录前置准备项目功能实现步骤1. 创建项目2. 配置 Tomcat3. 项目文件结构4. 创建数据库和表5.

使用Python实现批量访问URL并解析XML响应功能

《使用Python实现批量访问URL并解析XML响应功能》在现代Web开发和数据抓取中,批量访问URL并解析响应内容是一个常见的需求,本文将详细介绍如何使用Python实现批量访问URL并解析XML响... 目录引言1. 背景与需求2. 工具方法实现2.1 单URL访问与解析代码实现代码说明2.2 示例调用

Node.js 中 http 模块的深度剖析与实战应用小结

《Node.js中http模块的深度剖析与实战应用小结》本文详细介绍了Node.js中的http模块,从创建HTTP服务器、处理请求与响应,到获取请求参数,每个环节都通过代码示例进行解析,旨在帮... 目录Node.js 中 http 模块的深度剖析与实战应用一、引言二、创建 HTTP 服务器:基石搭建(一

Python如何实现 HTTP echo 服务器

《Python如何实现HTTPecho服务器》本文介绍了如何使用Python实现一个简单的HTTPecho服务器,该服务器支持GET和POST请求,并返回JSON格式的响应,GET请求返回请求路... 一个用来做测试的简单的 HTTP echo 服务器。from http.server import HT