标签: http-headers

Wget 窗口和多个 --header 开关

我正在尝试使用在 Windows Server 2003 上运行的 wget 1.11.4 对网站执行一些 JSON。我可以正常检索信息,但我无法发送任何信息。我不确定我的 JSON 格式是否正确,但似乎存在更根本的问题。

如果我做:

wget --header="Authorization: Bearer <redacted>" --no-check-certificate --post-data="{'workspaces':{'title':'CMC Regulatory Support','creator_role':'maven'}}"  https://api.mavenlink.com/api/v1/workspaces.json
Run Code Online (Sandbox Code Playgroud)

我从站点“ERROR 422: Unprocessable Entity”收到一个 JSON 错误。但是,如果我添加另一个 --header:

wget -S --header="Authorization: Bearer <redacted>" -–header="Content-Type: application/json" --no-check-certificate --post-data="{'workspaces':{'title':'CMC Regulatory Support','creator_role':'maven'}}"  https://api.mavenlink.com/api/v1/workspaces.json
Run Code Online (Sandbox Code Playgroud)

我得到:

SYSTEM_WGETRC = c:/progra~1/wget/etc/wgetrc
syswgetrc = C:\Program Files\GnuWin32/etc/wgetrc
wget: invalid option -- û
Usage: wget [OPTION]... [URL]...

Try `wget --help' for more options.
Run Code Online (Sandbox Code Playgroud)

但是手册明确指出允许使用多个 --header 开关,我看到网络上的示例中使用了 swithc 吗?。跆拳道?

json wget http-headers

1
推荐指数
1
解决办法
5804
查看次数

Nginx 按文件类型缓存标头

我想为 nginx 提供的文件设置缓存头。有没有办法根据类型为某些文件设置缓存头?例如,我想为所有 js 文件而不是其他文件设置缓存头。我不想根据文件所在的位置设置标题。

caching nginx http-headers

1
推荐指数
1
解决办法
1544
查看次数

重定向到 Amazon S3 静态网站中的错误页面

我有一个存储桶并在其中启用了静态网站托管。

假设我在存储桶中只有两个文件 (index.html) 和 (error.html)

如果使用 test.html 命中请求,则拒绝访问或不抛出此类关键错误。

如果出现此类错误,如何重定向到 error.html?

http amazon-s3 amazon-web-services http-headers

1
推荐指数
1
解决办法
4108
查看次数

如何在 PHP 中的 cookie 中存储外部 HTTP_REFERER 以供以后检索?

我想要一个 PHP 代码来执行以下操作:

  • 用户通过外部网站中的链接访问我的网站,换句话说,HTTP_REFERER 不是来自我自己的域。

  • 将此 HTTP_REFERER 保存在 cookie 中

在我网站的另一部分,我将检查此 cookie 是否存在,并将保存的引用包含在用户配置文件中。

php cookies http-headers

1
推荐指数
1
解决办法
1954
查看次数

HTTP 301 响应可以包含自定义 HTTP 标头或 cookie 值吗?

我发现,如果访问是第一次访问,我用 PHP 编写的 Web 服务中的 301 重定向响应不携带自定义 http 标头和自定义 cookie 值。我不确定的是这是否是 301 重定向应该如何工作,或者这是否只是如何编写我的 PHP 代码的问题?

如果这不清楚,请澄清,我会让问题更清楚。我的问题是关于 http 协议在这种情况下应该如何表现。

http http-headers

1
推荐指数
2
解决办法
3372
查看次数

如何将新标头传递给 sendRedirect

我觉得这应该很容易。我有一个应用程序,我想要做的就是有一个表单页面 (index.jsp),它调用一个 servlet (CheckInfo.java),它设置一个新的标头 (myHeader) 并将用户重定向到另一个页面 (redirect.jsp) . 所有这些文件都在同一台服务器上。index.jsp 正在发送请求,CheckInfo 正在处理和重定向,但 myHeader 没有显示在 redirect.jsp 上。我读过几篇关于 response.sendRedirect 发送不传递标头的 302 的帖子,我应该使用 RequestDispatcher,但似乎没有任何效果。有没有办法将头从 servlet 发送到 jsp?这是servlet代码:

response.setHeader("myHeader", "hey there");
response.sendRedirect("redirect.jsp");
Run Code Online (Sandbox Code Playgroud)

我也试过这个:

response.setHeader("myHeader", "hey there");
RequestDispatcher view = request.getRequestDispatcher("redirect.jsp");
view.forward(request, response);
Run Code Online (Sandbox Code Playgroud)

我在redirect.jsp中有这个:

System.out.println(request.getHeader("myHeader"));
Run Code Online (Sandbox Code Playgroud)

这不会打印任何内容。

如果我的问题的答案是否定的……那么一旦我回到 jsp,我就会找到一种设置标题的方法。我的反向代理正在寻找特定的标头以确定是否执行操作。显然,我在redirect.jsp 上尝试了response.addHeader(),但此时页面已经加载,这让我觉得自己很傻。

redirect servlets http-headers

1
推荐指数
1
解决办法
2万
查看次数

php 立即提供 mp4(在加载所有内容之前)

我正在实现一个提供 mp4 文件的 HTML5 视频播放器。

当我使用常规 mp4 文件作为源时,视频很快就会开始播放,我还可以寻找尚未下载的部分。

现在,我想保护我的视频文件,即它们存储在 web 根目录下,视频 src 是一个 php 文件,用于检查是否允许用户查看视频。

所以我的 HTML 看起来像这样:

...
<video src="http://videoserver.com/stream.php?file=videoxy.mp4">
...
Run Code Online (Sandbox Code Playgroud)

和stream.php:

...
if ($access_granted) {
  if ($fd = fopen($path, "rb")) {
    $fsize = filesize($path);
    header("Content-Type: video/mp4");
    header("Content-Disposition: inline; filename=\"".$filename."\"");
    header('Content-Transfer-Encoding: binary');
    header("Content-Length: $fsize");
    fpassthru($fd);
  } else {
    die('file not found');
  }
} else {
  die('forbidden');
}
...
Run Code Online (Sandbox Code Playgroud)

现在,视频仍会播放,但只有视频完全下载才能播放。

如何在下载所有内容之前开始播放视频?另外我想寻求尚未下载的部分像以前一样工作。

php http-headers html5-video

1
推荐指数
1
解决办法
1529
查看次数

如何在使用 Nginx 作为反向代理的 Spring Boot 应用程序的嵌入式 Tomcat 访问日志上记录真实客户端 IP?

我在启用了 Tomcat 访问日志的 Spring Boot 1.3.3 应用程序前面安装了 Nginx,但日志记录始终写入代理 IP 地址 (127.0.0.1) 而不是真实的客户端 IP。

  1. X-Real-IP 头是否用于获取真实的客户端 IP?
  2. 这个头是tomcat用来在访问日志中写入IP地址的吗?

我有这个配置:

应用程序属性

server.use-forward-headers=true
server.tomcat.internal-proxies=127\\.0\\.0\\.1
server.tomcat.accesslog.enabled=true
Run Code Online (Sandbox Code Playgroud)

nginx配置:

location / {
    proxy_pass http://127.0.0.1:8091;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto https;
    proxy_set_header X-Forwarded-Port 443;
    proxy_set_header Host $host;
}
Run Code Online (Sandbox Code Playgroud)

spring tomcat nginx http-headers spring-boot

1
推荐指数
1
解决办法
7265
查看次数

在浏览器中点击刷新时缓存控制不起作用

我正在尝试在我的应用程序上实现缓存控制。我已经为所有字体设置了 tomcat 过滤器,给出 max-age=120。

当我在清除缓存的情况下第一次请求字体时,调用/响应如下:

第一的

正如你所看到的,我有 max-age 响应。现在我希望如果我点击刷新浏览器不会再次发送 http 请求,而是会发生以下情况:

第二

如您所见,第二个请求有一个

cache-control: max-age=0

value 并且响应从服务器缓存返回。我想要实现的是阻止来自浏览器的整个调用。

难道我做错了什么?

谢谢

tomcat caching http cache-control http-headers

1
推荐指数
1
解决办法
823
查看次数

HTTP:重定向时,服务器是否立即发送响应?

我很好奇 HTTP 重定向是如何工作的,并且想知道客户端是否必须请求一次或两次。

当客户端请求 urlhttp://example.com/foo和服务器响应301(永久重定向)到 时http://example.com/bar,服务器是否也发送/barurl的响应?还是客户必须要求/bar

我试图用图形表达我的想法:

1:

选项 1(仅 1 个请求)


2:

选项 2(2 个请求)

redirect http http-headers server

1
推荐指数
1
解决办法
780
查看次数