import java.io.DataInputStream;
import java.io.DataOutput;
import java.io.DataOutputStream;
import java.net.*;
import java.util.concurrent.*;
public class Server {
public static void main(String[] args) {
try {
ServerSocket serverSocket = new ServerSocket(80);
while (true) {
Socket socket = serverSocket.accept();
System.out.println("Test");
socket.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
当我使用chrome访问localhost:80时,为什么服务器会打印字符串“Test”3次?当我使用IE10访问它时它会打印两次。
答案 0 :(得分:3)
如果你打印出它正在发出的HTTP请求,你可能会明白为什么。最有可能的情况是,浏览器要么尝试为您的“网站”favicon.ico
加载localhost
,要么尝试重新连接到没有说出正确HTTP的服务器。
答案 1 :(得分:3)
当它连接到Web服务器时,它会询问像favicon这样的数量资源。我建议你打印它所要求的内容,这样你就不会猜到为什么它被多次访问了。