4

我有一个 rails 3.2.6 应用程序,我正在使用资产管道,但我没有 favicon.ico,但由于某种原因,我的应用程序一直在寻找它,这导致了问题

Started GET "/favicon.ico" for 127.0.0.1 at 2012-06-18 16:20:44 -0400
Processing by PlaylistsController#index as 

我不知道是什么导致它被调用...在我的应用程序中根本没有任何包含文本 favicon

我的问题是,rails 中是否有一个地方我可以告诉它停止?

这是我的头部信息以防万一

<head>
  <title>Playlist</title>
  <meta content='width=device-width, initial-scale=1.0' name='viewport'>
  <!--[if lt IE 9]>
    <script src="http://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
  <![endif]-->
  <link href="/assets/application.css?body=1" media="all" rel="stylesheet" type="text/css" />
    <link href="/assets/common.css?body=1" media="all" rel="stylesheet" type="text/css" />
    <link href="/assets/app.css?body=1" media="all" rel="stylesheet" type="text/css" />
    <link href="/assets/bootstrap_and_overrides.css?body=1" media="all" rel="stylesheet" type="text/css" />
    <link href="/assets/jquery-ui-1.8.21.custom.css?body=1" media="all" rel="stylesheet" type="text/css" />
    <link href="/assets/main.css?body=1" media="all" rel="stylesheet" type="text/css" />
    <link href="/assets/dataTables/jquery.dataTables.css?body=1" media="all" rel="stylesheet" type="text/css" />
    <link href="/assets/dataTables/jquery.dataTables.bootstrap.css?body=1" media="all" rel="stylesheet" type="text/css" />
  <script src="/assets/jquery.js?body=1" type="text/javascript"></script>
    <script src="/assets/jquery_ujs.js?body=1" type="text/javascript"></script>
    <script src="/assets/dataTables/jquery.dataTables.js?body=1" type="text/javascript"></script>
    <script src="/assets/dataTables/jquery.dataTables.bootstrap.js?body=1" type="text/javascript"></script>
    <script src="/assets/jquery-ui.js?body=1" type="text/javascript"></script>
    <script src="/assets/bootstrap.js?body=1" type="text/javascript"></script>
    <script src="/assets/editable.js?body=1" type="text/javascript"></script>
    <script src="/assets/mutils.js?body=1" type="text/javascript"></script>
    <script src="/assets/custom.js?body=1" type="text/javascript"></script>
    <script src="/assets/application.js?body=1" type="text/javascript"></script>
  <link href="/assets/datatables.css?body=1" media="screen" rel="stylesheet" type="text/css" />
  <meta content="authenticity_token" name="csrf-param" />
    <meta content="Pccg3siV8wY7LftMfpyi5rgFArjehQb7g5o1BF7QL1I=" name="csrf-token" />

4

1 回答 1

12

不,没有。

所有当前流行的浏览器(Seamonkey 除外)都会向自己发出 GET 请求/favicon.ico,并且无法阻止它们这样做。如果它不存在,他们仍然会请求它,并继续请求它;您的应用程序或服务器的任何内容都无法改变这一点。

默认情况下, Rails 在文件夹中包含一个大小为 0 的 favicon.ico 文件,public因此不会发送一个永远不会在响应中看到的 HTML 404 页面,而是发送一个内容长度为零的响应,这(在大多数生产配置下)将被缓存并且会更快,因为它不必由 Ruby 处理。

于 2012-06-18T21:15:27.143 回答