【问题标题】:JSON - what http headers are sent from browser to external server json fileJSON - 什么 http 标头从浏览器发送到外部服务器 json 文件
【发布时间】:2012-09-07 23:59:21
【问题描述】:

让我们想象一下下面的情况。

我有一个网站 mysearchengine.com,然后我使用来自外部网站的搜索建议,例如 eniro.no:

http://map01.eniro.no/search/search.json?q=de&index=yp_sug&profile=pl&pageSize=10&callback=C

eniro.no 是否可以看到他们的 JSON 是从网站 mysearchengine.com 请求的?

我的问题是我想使用另一个(不是我的)服务器的一些 JSON 资源,我想知道他们是否看到我正在这样做?

以上只是一个示例,我发现最简单的方法是向我展示关于 JSON 工作原理的问题。

【问题讨论】:

    标签: javascript json browser http-headers


    【解决方案1】:

    是的,主要有两种方式之一:

    HTTP 引荐来源标头: http://www.w3.org/Protocols/HTTP/HTRQ_Headers.html#z14

    直接 IP 地址记录:如果他们记录您的 IP 地址,他们可能会进行反向查找以找到您的网址。或者,如果您使用共享 IP,如果您滥用他们的网络资源,他们可能会阻止您的 IP 地址。

    注意:您可以选择是否传递referer header。这取决于您的服务器。但是,没有办法掩盖请求远程资源的计算机/服务器(是的,使用代理他们将能够知道代理的 IP 请求了资源,但这不是重点)。

    【讨论】:

    • 注意:我说的是实现外部 NOT MINE 服务器来挖掘网站,以及外部 .jsons 管理员可以看到哪些标头。不是从我自己的计算机上请求 .json 文件,而是从我网站上的数千名用户那里请求
    【解决方案2】:

    您是否希望用户单击您网站上的按钮,然后您的网站将使用 javascript 向另一个网站发出 GET 请求,然后将内容放到您的网站上?这就是所谓的跨域资源共享 (CORS)。

    如果您正在控制 javascript,则可以在请求中插入额外的标头,并且由于发出请求的是用户的浏览器,因此该网站只会看到该用户的信息,而不是您网站的信息。

    除此之外,Andrew M.的回答是正确的,基于浏览器,可能会发送一个referred header,我不确定你是否可以通过JS摆脱它。

    【讨论】:

      猜你喜欢
      • 2020-07-30
      • 2012-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-20
      • 2012-01-07
      相关资源
      最近更新 更多