Dart HttpServer是否处理同一请求两次?
尝试设置一个简单的省道:Dart HttpServer是否处理同一请求两次?,dart,Dart,尝试设置一个简单的省道: 导入'dart:io'; void main(){ 绑定(InternetAddress.ANY_IP_V4,80)。然后((服务器){ 侦听((HttpRequest请求){ request.response.write('Hello,world'); request.response.close(); 打印(new DateTime.now()); 打印(请求.连接信息.远程地址); 打印(请求方法); 打印(request.headers.toString());
导入'dart:io';
void main(){
绑定(InternetAddress.ANY_IP_V4,80)。然后((服务器){
侦听((HttpRequest请求){
request.response.write('Hello,world');
request.response.close();
打印(new DateTime.now());
打印(请求.连接信息.远程地址);
打印(请求方法);
打印(request.headers.toString());
打印(“--------------”;
});
});
打印(“列表…”);
}
从浏览器(Chrome)点击localhost时,似乎传入的请求被处理了两次:
除了accept
头之外,这两个请求看起来几乎相同。看起来浏览器不会两次启动请求:
那么,为什么请求会被处理两次呢
编辑:Dart SDK版本0.8.10.6_r30036您不输出请求的内容(请求实例的url
成员),这就是两个请求之间的差异
第一个请求请求您尝试打开的文件,可能是
/
。第二个请求由浏览器内部发出,请求favicon.ico
在地址栏/选项卡标题中显示图标。Aaah。的确Chrome不会在网络选项卡中显示favicon.ico请求:(谢谢!
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
--------------