Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - SQL 参考 » 使用 SQL » SQL 函数 » SQL 函数 (E-O)

 

HTTP_HEADER 函数 [HTTP]

返回 HTTP 标头的值。

语法
HTTP_HEADER( header-field-name )
参数
  • header-field-name   HTTP 标头字段名称。

返回值

LONG VARCHAR

注释

此函数返回指定的 HTTP 标头字段的值,如果不是从 HTTP 服务进行调用,则返回 NULL。当通过 Web 服务处理 HTTP 请求时,将使用该函数。

如果给定 header-field-name 的标头不存在,则返回值为 NULL。如果不是从 Web 服务调用该函数,返回值也是 NULL。

以下是可能会在处理 HTTP Web 服务请求时值得关注的一些标头。有关这些标头的详细信息,请访问 [external link] http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html.org/Protocols/rfc2616/rfc2616-sec14.html

  • Cookie   cookie 值(如果有),由客户端存储,并与请求的 URI 关联。

  • Referer   包含指向所请求 URI 链接的页面的 URL。

  • Host   提交请求的主机的名称或 IP。

  • User-Agent   客户端应用程序的名称。

  • Accept-Encoding   客户端应用程序可接受的响应的编码列表。

处理 HTTP Web 服务请求时总是会定义这些特殊标头:

  • @HttpMethod   返回要处理的请求的类型。可接受的值包括 HEAD、GET 或 POST。

  • @HttpURI   请求的完整 URI,即 HTTP 请求中指定的 URI。

  • @HttpVersion   请求的 HTTP 版本(例如,1.0 或 1.1)。

  • @HttpQueryString   返回所请求 URI 的查询部分(如果存在)。

可以通过这些特殊标头对客户端请求的第一行(也称为请求行)进行访问。

另请参见
标准和兼容性
  • SQL/2003   服务商扩充。

示例

在由 HTTP Web 服务所调用的存储过程内,使用以下示例会获取 Cookie 标头的值:

SET cookie_value = HTTP_HEADER( 'Cookie' );

在由 HTTP Web 服务所调用的存储过程内,使用以下示例会返回第一个 HTTP 标头的值。

DECLARE header_name LONG VARCHAR;
DECLARE header_value LONG VARCHAR;
SET header_name = NEXT_HTTP_HEADER( NULL );
SET header_value = HTTP_HEADER( header_name );