首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >头请求收到"403禁“而得到"200行”?

头请求收到"403禁“而得到"200行”?
EN

Stack Overflow用户
提问于 2010-08-10 23:32:59
回答 3查看 22.1K关注 0票数 8

几个月后,在每个主要搜索引擎的搜索结果中,网站消失了,我终于找到了一个可能的原因。

我使用WebBug来调查服务器头。如果请求是HEAD还是GET,请查看不同之处。

头发送数据:

代码语言:javascript
复制
HEAD / HTTP/1.1
Host: www.attu.it
Connection: close
Accept: */*
User-Agent: WebBug/5.0

头接收数据:

代码语言:javascript
复制
HTTP/1.1 403 Forbidden
Date: Tue, 10 Aug 2010 23:01:00 GMT
Server: Apache/2.2
Connection: close
Content-Type: text/html; charset=iso-8859-1

获得发送数据:

代码语言:javascript
复制
GET / HTTP/1.1
Host: www.attu.it
Connection: close
Accept: */*
User-Agent: WebBug/5.0

接收到的数据:

代码语言:javascript
复制
HTTP/1.1 200 OK
Date: Tue, 10 Aug 2010 23:06:15 GMT
Server: Apache/2.2
Last-Modified: Fri, 08 Jan 2010 08:58:01 GMT
ETag: "671f91b-2d2-47ca362815840"
Accept-Ranges: bytes
Content-Length: 722
Connection: close
Content-Type: text/html

// HTML code here

现在,默认情况下,浏览器发送一个GET请求(至少这是firebug说的)。有没有可能爬虫会发送头部请求呢?如果是这样的话,为什么只有这个服务器用403来响应,而来自我所在的其他站点的其他服务器却不响应呢?

如果这很重要,.htaccess中唯一出现的行是(除非我的客户更改了它,因为他们不想让我访问他们的服务器)

代码语言:javascript
复制
AddType text/x-component .htc

更新

谢谢@Ryk。FireBug和Fiddler都发送GET请求,它们得到200个(或300个)响应。不出所料。所以,我想这要么是服务器设置不好(尽管它很奇怪,因为主机来自一家拥有数百万客户的大公司),要么是他们在.htaccess中放置的东西。他们得让我查一下他们的账目。

我问题的第二部分是,这是否可能是网站没有出现在任何搜索引擎中的原因(site:www.attu.it没有给出结果)。有什么想法吗?

更新2

经过一些摆弄之后,原来是根目录中的phpMyAdmin机器人阻塞了.htaccess,这使得机器人的任何请求都会被发送回403禁止的地方。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-08-10 23:50:57

我建议安装Fiddler并仔细检查请求。我有时看到,页面上需要身份验证的文件夹中的图标会导致返回403。

Fiddler会给你一个好主意,你也可以尝试火狐和安装FireBug附加和检查页面的错误。

看看这个网站,我得到了一堆404的favicon.ico,但是除了这个之外,当我做一个简单的get请求时,我得到了200个OK,但是当我做了一个头,我也得到了一个403。现在开始调查。

更新:我认为这可能是Apache服务器上的配置,但不是100%确定。http://hc.apache.org/httpclient-3.x/methods/head.html

UPDATE2:阅读这个http://www.pubbs.net/200811/httpd/17210-usershttpd-how-to-reject-head-request.html使我相信您的http://www.pubbs.net/200811/httpd/17210-usershttpd-how-to-reject-head-request.html服务器可以被设置为拒绝HEAD请求。在这种情况下,它将返回一个403。

票数 1
EN

Stack Overflow用户

发布于 2011-09-14 08:03:51

一些管理员在httpd.conf中写入

代码语言:javascript
复制
                     Order deny,allow
代码语言:javascript
复制
                     Deny from all
代码语言:javascript
复制
                     Allow from 10.0

代码语言:javascript
复制
                   Order deny,allow
代码语言:javascript
复制
                   Deny from all

这个产品被“禁止”到头请求。你应该看看这个。

票数 1
EN

Stack Overflow用户

发布于 2013-12-16 21:35:04

我遇到了这个问题,因为我使用的是签名的URL。

每个签名URL只适用于一个方法(例如GET或HEAD)。如果要使用多个方法,则必须有多个URL。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3454286

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档