模块:莫霍::标题
起源:Mojo::基础

名称

Mojo::Headers-HTTP头

简介

使用Mojo::标题;#分析my$headers=Mojo::headers->new;$headers->parse(“内容长度:42\x0d\x0a”);$headers->parse(“内容类型:text/html\x0d\x0a\x0d\x0a”);说$headers->content_length;说$headers->content_type;#生成my$headers=Mojo::headers->new;$headers->content_length(42);$headers->content_type('text/plain');比如$headers->to_string;

描述

Mojo::标题是HTTP标头的容器,基于射频7230副本请求7231.

属性

Mojo::标题实现以下属性。

最大线条大小

我的$size=$headers->max_line_size;$headers=$headers->max_line_size(1024);

最大标题行大小(以字节为单位),默认为MOJO_MAX_LINE_SIZE(莫约_最大_线条_尺寸)环境变量或8192(8KiB)。

最大行数(_L)

my$num=$headers->max_lines;$headers=$headers->max_lines(200);

最大标题行数,默认为MOJO_MAX_线环境变量或100.

方法

Mojo::标题从继承所有方法Mojo::基础并实现了以下新功能。

添加

$headers=$headers->add(Foo=>“一个值”);$headers=$headers->add(Foo=>“第一个值”,“第二个值”);

添加带有一行或多行的页眉。

#“Vary:接受#变化:接受编码“$headers->add(Vary=>'Accept')->add(Vary=>'Accept-Encoding')->to_string;

追加

$headers=$headers->append(变量=>“接受编码”);

将值附加到标题并在必要时展平。

#“变化:接受”$headers->append(Vary=>“Accept”)->to_string;#变化:接受,接受编码$headers->vary('Accept')->append(vary=>'Accept-Encoding')->to_string;

克隆

我的$clone=$headers->克隆;

返回新的Mojo::标题从这些标头克隆的对象。

去霍普

$headers=$headers->dehop;

删除不应重新传输的逐跃点标头。

每个页眉

my$all=$headers->every_header(“位置”);

类似“标题”,但返回与数组引用同名的所有标头。

#获取第一个标题值比如$headers->every_header('Location')->[0];

来自散列

$headers=$headers->from_hash({'Cookie'=>'a=b'});$headers=$headers->from_hash({'Cookie'=>['a=b','c=d']});$headers=$headers->from_hash({});

解析哈希引用中的标头,空哈希将删除所有标头。

my$value=$headers->header('Foo');$headers=$headers->header(Foo=>“一个值”);$headers=$headers->header(Foo=>“第一个值”,“第二个值”);

获取或替换当前标题值。

已完成(_F)

我的$bool=$headers->is_finished;

检查标头分析器是否完成。

超出了限制

我的$bool=$headers->is_limit_exceeded;

检查标头是否超过“最大行大小”“最大行数”.

剩菜

my$bytes=$headers->剩余项;

从标头分析器中获取并删除剩余数据。

姓名

my$names=$headers->names;

返回具有当前定义的所有标头的数组引用。

#所有标题的名称表示@{$headers->names};

解析

$headers=$headers->parse(“内容类型:text/plain\x0d\x0a\x0d\x0a”);

分析格式化的标头。

去除

$headers=$headers->remove('Foo');

拆下收割台。

散列(_H)

我的$single=$headers->tohash;我的$multi=$headers->tohash(1);

将标头转换为散列引用,默认情况下禁用表示同名多个标头的数组引用。

说$headers->to_hash->{DNT};

至振铃

我的$str=$headers->to_string;

将标头转换为适合HTTP消息的字符串。

其他方法

此外,还提供了以下快捷方式,用于访问和操作常用标题:

接受

my$accept=$headers->accept;$headers=$headers->accept('application/json');

获取或替换当前标题值接受收割台。

接受字符集

我的$charset=$headers->accept_charset;$headers=$headers->accept_charset('UTF-8');

获取或替换当前标题值接受Charset收割台。

接受编码

my$encoding=$headers->accept_encoding;$headers=$headers->accept_encoding('gzip');

获取或替换当前标题值接受编码收割台。

接受_语言

my$language=$headers->accept_language;$headers=$headers->accept_language('de,en');

获取或替换当前标题值接受语言收割台。

accept_ranges(接受范围)

my$ranges=$headers->accept_ranges;$headers=$headers->accept_ranges(“字节”);

获取或替换当前标题值接受范围收割台。

访问控制允许源

我的$origin=$headers->access_control_allow_origin;$headers=$headers->access_control_allow_origin('*');

获取或替换当前标题值访问控制-允许源标题来自跨源资源共享.

允许

my$allow=$headers->allow;$headers=$headers->allow('GET,POST');

获取或替换当前标题值允许收割台。

授权

my$authorization=$headers->授权;$headers=$headers->授权('Basic Zm9vOmJhcg==');

获取或替换当前标题值授权收割台。

缓存控制

我的$cachecontrol=$headers->cachecontol;$headers=$headers->cache_control('max-age=1,no-cache');

获取或替换当前标头值控制缓存收割台。

连接

我的$connection=$headers->connection;$headers=$headers->连接(“关闭”);

获取或替换当前标题值连接收割台。

内容_分配

my$disposition=$headers->content_disposition;$headers=$headers->content_disposition('foo');

获取或替换当前标题值内容-部署收割台。

内容_编码

my$encoding=$headers->content_encoding;$headers=$headers->content_encoding('gzip');

获取或替换当前标题值内容编码收割台。

内容_语言

my$language=$headers->content_language;$headers=$headers->content_language('en');

获取或替换当前标题值内容-语言收割台。

内容_长度

my$len=$headers->content_length;$headers=$headers->content_length(4000);

获取或替换当前标题值内容物-长度收割台。

内容_位置

my$location=$headers->content_location;$headers=$headers->content_location('http://127.0.0.1/foo');

获取或替换当前标题值内容-位置收割台。

内容_范围

my$range=$headers->content_range;$headers=$headers->content_range('字节2-8/100');

获取或替换当前标头值内容范围收割台。

内容安全策略

my$policy=$headers->content_security_policy;我的$policy=$headers->content_security_policy;$headers=$headers->content_security_policy('default-src https:');

获取或替换当前标题值内容安全策略标题来自内容安全策略1.0.

内容_类型

my$type=$headers->content_type;$headers=$headers->content_type('text/plain');

获取或替换当前标题值内容类型收割台。

我的$cookie=$headers->cookie;$headers=$headers->cookie('f=b');

获取或替换当前标题值Cookie饼干标题来自副本请求6265.

日期

我的$date=$headers->date;$headers=$headers->date('2008年8月17日,星期日,16:27:35 GMT');

获取或替换当前标题值日期收割台。

双硝基甲苯

我的$dnt=$headers->dnt;$headers=$headers->dnt(1);

获取或替换当前标题值DNT公司(Do Not Track)标头,它还没有规范,但非常常用。

etag(电子标签)

我的$etag=$headers->etag;$headers=$headers->etag(“abc321”);

获取或替换当前标题值电子标签收割台。

期待

my$expect=$headers->expect;$headers=$headers->expect('100-continue');

获取或替换当前标题值期望收割台。

到期

我的$expires=$headers->expires;$headers=$headers->过期('Thu,1994年12月1日16:00:00 GMT');

获取或替换当前标题值到期收割台。

主办

my$host=$headers->host;$headers=$headers->host('127.0.0.1');

获取或替换当前标题值主机收割台。

if_modified_since(如果已修改)

我的$date=$headers->if_modified_sine;$headers=$headers->if_modified_sine('2008年8月17日星期日16:27:35 GMT');

获取或替换当前标头值If-修改自收割台。

if_none_匹配

我的$etag=$headers->if_none_match;$headers=$headers->if_none_match('“abc321”');

获取或替换当前标题值If-无匹配收割台。

上次修改(_M)

我的$date=$headers->last_modified;$headers=$headers->last_modified(“2008年8月17日星期日16:27:35 GMT”);

获取或替换当前标题值上次修改时间收割台。

我的$link=$headers->link;$headers=$headers->链接('<http://127.0.0.1/foo/3>; rel=“下一步”);

获取或替换当前标题值链接标题来自副本请求5988.

我的$links=$headers->links;$headers=$headers->链接({next=>'http://example.com/foo',上一个=>'http://example.com/bar'});

获取或设置来自或到的web链接链接收割台依据副本请求5988.

#提取有关下一页的信息说$headers->links->{next}{link};说$headers->links->{next}{title};

位置

my$location=$headers->location;$headers=$headers->位置('http://127.0.0.1/foo');

获取或替换当前标题值位置收割台。

起源

my$origin=$headers->origin;我的$origin=$headers->origin;$headers=$headers->原点('http://example.com');

获取或替换当前标题值原产地标头来自副本请求6454.

代理身份验证

my$authenticate=$headers->proxy_authenticate;$headers=$headers->proxy_authenticate('Basic“realm');

获取或替换当前标题值代理认证收割台。

代理授权

我的$authorization=$headers->proxy_authorization;$headers=$headers->proxy_authorization('Basic Zm9vOmJhcg==');

获取或替换当前标题值代理授权收割台。

范围

my$range=$headers->range;$headers=$headers->范围('字节=2-8');

获取或替换当前标题值范围收割台。

裁判

我的$referrer=$headers->referer;$headers=$headers->referer('http://example.com');

的别名“推荐人”.

推荐人

我的$referrer=$headers->referrer;$headers=$headers->referrer('http://example.com');

获取或替换当前标题值推荐人标题,有一个输入错误RFC 2068号文件这导致了推荐人成为官方头目。

sec_websocket_accept(网络套接字接收)

我的$accept=$headers->sec_websocket_accept;$headers=$headers->sec_websocket_accept('s3pPLMBiTxaQ9kYGzzhZRbK+xOo=');

获取或替换当前标题值Sec-WebSocket验收标题来自副本请求6455.

sec_websocket_extensions(网络套接字扩展)

my$extensions=$headers->sec_websocket_extensions;$headers=$headers->sec_websocket_extensions('foo');

获取或替换当前标题值Sec-WebSocket-扩展标头来自副本请求6455.

sec_websocket_key(网络套接字密钥)

我的$key=$headers->sec_websocket_key;$headers=$headers->sec_websocket_key('dGhlIHNhbXBsZSBub25jZQ==');

获取或替换当前标题值Sec-WebSocket密钥标题来自副本请求6455.

sec_websocket_protocol(安全网络套接字协议)

我的$proto=$headers->sec_websocket_protocol;$headers=$headers->sec_websocket_protocol(“示例”);

获取或替换当前标题值Sec-WebSocket-Protocol协议标题来自副本请求6455.

sec网络套接字版本

我的$version=$headers->sec_websocket_version;$headers=$headers->sec_websocket_version(13);

获取或替换当前标题值Sec-WebSocket-Version第二版标题来自副本请求6455.

服务器

我的$server=$headers->server;$headers=$headers->server('Mojo');

获取或替换当前标题值服务器收割台。

服务器计时

我的$timing=$headers->server_timing;$headers=$headers->server_timing('app;desc=Mojolicious;dur=0.0001');

获取或替换当前标题值服务器定时标题来自服务器计时.

我的$cookie=$headers->setcookie;$headers=$headers->set_cookie('f=b;路径=/');

获取或替换当前标题值套餐-Cookie标题来自副本请求6265.

地位

my$status=$headers->status;$headers=$headers->状态(“200 OK”);

获取或替换当前标题值状态标题来自射频3875.

严格运输安全

我的$policy=$headers->strict_transport_security;$headers=$headers->strict_transport_security('max-age=31536000');

获取或替换当前标题值严格的运输安全标题来自副本请求6797.

时间

我的$te=$headers->te;$headers=$headers->te(“块状”);

获取或替换当前标题值TE公司收割台。

拖车

我的$traile=$headers->traile;$headers=$headers->拖车('X-Foo');

获取或替换当前标题值拖车收割台。

传输编码

my$encoding=$headers->transfer_encoding;$headers=$headers->transfer_encoding('chunked');

获取或替换当前标题值传输编码收割台。

升级

我的$upgrade=$headers->upgrade;$headers=$headers->upgrade('websocket');

获取或替换当前标题值升级收割台。

用户代理(_A)

my$agent=$headers->user_agent;$headers=$headers->user_agent('Mojo/1.0');

获取或替换当前标题值用户代理收割台。

变化

我的$vary=$headers->vary;$headers=$headers->vary('*');

获取或替换当前标题值变化收割台。

www_authenticate网址

my$authenticate=$headers->www_authenticate;$headers=$headers->www_authenticate('Basic realm=“realm”');

获取或替换当前标头值WWW-身份验证收割台。

另请参阅

Mojolicious公司,Mojolicious::指南,https://mojolicious.org.