Java Web服务器将if-modified-since与上次修改时间进行比较

问题描述 投票:0回答:1

我正在尝试使Java Web服务器将if-modified-since与文件的最后修改时间进行比较。但是,我不知道如何从客户端获取if-modified-since标头并进行比较。

java web server last-modified if-modified-since
1个回答
1
投票

我不会立即尝试处理特定的标头。如果要从头开始编写Web服务器,则应编写一个通用的HTTP解析器,该解析器可以处理HTTP请求的每个部分:

  • 请求行
    • 请求方法(GETPOST等)
    • URL
    • HTTP版本
  • 零个或多个Name: Value形式的标题
  • 空白行
  • 消息正文

例如,您可以建立一个类似的类:

class HttpRequest {
    String method;
    URL url;
    String httpVersion;
    Map<String, String> headers;
    byte[] body;
}

由于标头名称不区分大小写,因此我建议将map与String.CASE_INSENSITIVE_ORDER一起使用。

一旦您可以解析all标头,而不是查找particular标头将是一个简单的任务。如果您有上述课程,那就像查找headers.get("If-Modified-Since")一样简单。

© www.soinside.com 2019 - 2024. All rights reserved.