【问题标题】:Started Playing with node.js. I have a question开始玩 node.js。我有个问题
【发布时间】:2011-04-23 03:49:51
【问题描述】:

我刚刚使用文档中的这段代码创建了一个 HTTP 服务器:

var sys = require("sys"),
    http = require("http");

http.createServer(function(request, response) {
    response.writeHead(200, {"Content-Type": "text/plain"});
    response.end("Hello World!");
    sys.puts('Connection');
}).listen(8080);

sys.puts("Server running at http://localhost:8080/");**

我的问题是,为什么当我转到 localhost:8080 时,我得到了两次打印的“连接”?这是一个错误吗?

【问题讨论】:

  • 看起来是这样,尽管在随后的请求中它会正确打印。第一次访问的东西。

标签: javascript http node.js


【解决方案1】:

两个请求被发送到服务器。第一个请求是由浏览器自动发出的,它请求 favicon.ico,当然,第二个请求是针对 URL (localhost:8080)。

【讨论】:

    【解决方案2】:

    您的浏览器可能会两次请求 URL,一次使用 HEAD 请求,一次使用 GET 请求。尝试使用简单的界面,例如telnet

    $ telnet localhost 8080
    GET / HTTP/1.0
    
    ^]q
    

    GET后面空一行,按Ctrl+]q回车退出。

    【讨论】:

    • 不要认为这是一个 HEAD 和 GET。第二个请求很可能是在搜索网站图标,但这是吹毛求疵。
    • @Ivo:好电话,可能就是这样。
    • 没错,我刚刚做了:sys.puts(request.url);第二个如果用于网站图标。谢谢
    猜你喜欢
    • 1970-01-01
    • 2023-04-01
    • 2020-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-10
    • 2011-06-18
    • 1970-01-01
    相关资源
    最近更新 更多