gpt4 book ai didi

dart - HttpServer 是否两次处理相同的请求?

转载 作者:行者123 更新时间:2023-12-03 02:51:48 25 4
gpt4 key购买 nike

尝试设置一个简单的 Dart HttpServer :

import 'dart:io';

void main() {
HttpServer.bind(InternetAddress.ANY_IP_V4, 80).then((server) {
server.listen((HttpRequest request) {
request.response.write('Hello, world.');
request.response.close();
print(new DateTime.now());
print(request.connectionInfo.remoteAddress);
print(request.method);
print(request.headers.toString());
print("--------------");
});
});

print("listing....");

}

当从浏览器 (Chrome) 访问本地主机时,似乎传入的请求被处理了两次:

listing....
2013-11-07 15:19:24.478
InternetAddress('127.0.0.1', IP_V4)
GET
host: localhost:80
connection: keep-alive
cache-control: max-age=0
accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
user-agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36
accept-encoding: gzip,deflate,sdch
accept-language: en-US,en;q=0.8
--------------
2013-11-07 15:19:24.554
InternetAddress('127.0.0.1', IP_V4)
GET
host: localhost:80
connection: keep-alive
accept: */*
user-agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36
accept-encoding: gzip,deflate,sdch
accept-language: en-US,en;q=0.8
--------------

这两个请求看起来几乎相同,除了 accept header 。浏览器看起来不像是两次触发请求:

enter image description here

那么,为什么请求会被处理两次?

编辑:Dart SDK 版本 0.8.10.6_r30036

最佳答案

您不会输出请求的内容(请求实例的 url 成员),这就是两个请求之间的区别。

第一个请求请求您尝试打开的文件,可能是/。第二个请求由浏览器内部发出,请求 favicon.ico 在地址栏/选项卡标题中显示图标。

关于dart - HttpServer 是否两次处理相同的请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19846076/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com