While looking at ETag handling, I noticed that `if-(un)modified-since` headers are completely ignored. These headers are specified for GetObject, HeadObject, CopyObject, UploadPartCopy APIs. S3 now also supports conditional writes and conditional reads: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-writes.html https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-reads.html S3Mock should support those types of requests as well.