使用Iron在简单的Web服务器中调用两次函数

时间:2016-01-29 03:04:21

标签: rust iron

我有一个超级简单的Web服务器,由于某种原因,println!语句打印出两次。为什么会这样?

extern crate iron;

use iron::prelude::*;
use iron::status;

fn hello_world(_: &mut Request) -> IronResult<Response> {
    println!("Said Hello World");
    Ok(Response::with((status::Ok, "Hello World\n")))
}

fn main() {
    Iron::new(hello_world).http("localhost:8000").unwrap();
}

每次刷新浏览器时,shell中的输出都是:

Said Hello World
Said Hello World

我只希望打印一行。似乎我的hello_world函数被调用了两次。我错过了什么?

1 个答案:

答案 0 :(得分:2)

您的浏览器可能会自动尝试抓取favicon.ico。检查Request的内容以确定! :)您的浏览器也可能有一个网络监视器作为其开发人员工具的一部分;这应该向您显示favicon.ico的请求(我知道它在Firefox中有用,不了解其他浏览器)。