我正在尝试使Java Web服务器将if-modified-since与文件的最后修改时间进行比较。但是,我不知道如何从客户端获取if-modified-since标头并进行比较。
我不会立即尝试处理特定的标头。如果要从头开始编写Web服务器,则应编写一个通用的HTTP解析器,该解析器可以处理HTTP请求的每个部分:
GET
,POST
等)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")
一样简单。