ruby – 如何阻止sinatra重写我的标题名称?
发布时间:2020-12-17 03:15:07 所属栏目:百科 来源:网络整理
导读:Sinatra是所有标题名称的骆驼套管,导致’P3P’出现问题.码: require 'rubygems'require 'sinatra'configure :production do # Configure stuff here you'll want to # only be run at Heroku at boot # TIP: You can get you database information # from E
Sinatra是所有标题名称的骆驼套管,导致’P3P’出现问题.码:
require 'rubygems' require 'sinatra' configure :production do # Configure stuff here you'll want to # only be run at Heroku at boot # TIP: You can get you database information # from ENV['DATABASE_URI'] (see /env route below) end # Quick test get '/track' do #response.headers['Cache-Control'] = 'public,max-age=300' response.set_cookie("visited",1) response['this-that'] = "CP="CAO DSP COR CURa ADMa DEVa OUR IND PHY ONL UNI COM NAV INT DEM PRE"" response['P3P'] = "CP="CAO DSP COR CURa ADMa DEVa OUR IND PHY ONL UNI COM NAV INT DEM PRE"" "SUCCESS" end 给我吗 * About to connect() to localhost port 9393 (#0) * Trying 127.0.0.1... connected > GET /track HTTP/1.1 > User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3 > Host: localhost:9393 > Accept: */* > < HTTP/1.1 200 OK < X-Frame-Options: sameorigin < X-Xss-Protection: 1; mode=block < Content-Type: text/html;charset=utf-8 < This-That: CP="CAO DSP COR CURa ADMa DEVa OUR IND PHY ONL UNI COM NAV INT DEM PRE" < P3p: CP="CAO DSP COR CURa ADMa DEVa OUR IND PHY ONL UNI COM NAV INT DEM PRE" < Content-Length: 7 < Server: WEBrick/1.3.1 (Ruby/1.9.2/2012-04-20) < Date: Sun,28 Oct 2012 16:26:47 GMT < Connection: Keep-Alive < Set-Cookie: visited=1 < * Connection #0 to host localhost left intact * Closing connection #0 SUCCESS 正如你所看到的那样 – 被重写为This-That并且P3P被重写为P3p.这是我的宝石清单: *本地宝石* addressable (2.3.2) bundler (1.2.1) excon (0.16.7) heroku (2.32.14) heroku-api (0.3.5) launchy (2.1.2) mime-types (1.19) netrc (0.7.7) rack (1.4.1) rack-protection (1.2.0) rake (0.9.2.2) rest-client (1.6.7) rubygems-bundler (1.1.0) rubyzip (0.9.9) rvm (1.11.3.5) shotgun (0.9) sinatra (1.3.3) tilt (1.3.3) 如何阻止sinatra重写cookie名称.我能做一个猴子补丁吗? 解决方法
HTTP header names should be case insensitive,所以理论上这应该不是问题 – P3p应该和P3P一样好用.
在你的情况下,标题是altered by the Webrick server,而不是Sinatra.更改为另一个服务器(如Thin(不会更改标头))将是最简单的修复(使用Thin over Webrick还有其他好处). 如果你真的需要继续使用Webrick,你可以考虑修补 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |