【问题标题】:when browser is waiting当浏览器等待时
【发布时间】:2026-01-02 14:40:01
【问题描述】:

我有一个 Java 程序,它从浏览器(使用 HTTP 代理)读取请求标头,然后响应它。
我的程序如何理解浏览器在没有关闭连接的情况下等待响应。
我知道当浏览器等待时,他会在 header 末尾发送“”(我不知道它是什么!)。但它不为空,当我检查它时它不起作用。
见下面的代码:

message = reader.readLine();
while (!((message == null) || (message == ""))) {
    message = reader.readLine();
}
client.close();

但在这里,!(message == "") 不会过时

标题:

GET http://localhost/ HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:19.0) Gecko/20100101 Firefox/19.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
(waiting for respond)
null (for closing connection)

【问题讨论】:

    标签: java sockets browser http-headers


    【解决方案1】:

    在java中,你将字符串与equals进行比较:

    message.equals("")
    

    【讨论】:

    • Yip (message == "") 将返回 false ... 即使 message 是空字符串 ""