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访问它时,它会打印两次。
如果你打印出它发出的HTTP请求,你可能会明白为什么。最有可能的是,浏览器正在尝试为您的"站点"(localhost
)加载favicon.ico
,或者它正在尝试重新连接到未使用正确HTTP的服务器。
当它连接到Web服务器时,它会请求一些资源,如favicon。 我建议您打印它要求的内容,这样您就不会猜测为什么多次访问它。