Easy '304 Not Modified' Responses

预计阅读时间:1分钟

ConditionalHeaders功能增加了避免在客户端已经具有相同内容的情况下发送内容的功能. 通过检查发送的ResourceFinalContentETagLastModified属性,并将这些属性与客户端指示的属性进行比较,可以做到这一点. 如果条件允许,则不发送全部内容,而是发送" 304 Not Modified"响应.

此功能在io.ktor.features.ConditionalHeaders类中io.ktor.features.ConditionalHeaders ,不需要其他工件.

Configuration

您无需额外配置即可安装和使用ConditionalHeaders

install(ConditionalHeaders)

它还允许配置lambda以从作为lambda参数传递的生成的OutgoingContent获取版本列表:

install(ConditionalHeaders) {
    version { content -> listOf(EntityTagVersion("tag1")) }
}

Extensibility

Version接口实现附加到Resource实例,您可以使用自己的逻辑返回自定义实现. 请注意,仅检查FinalContentETagLastModified标头.

by  ICOPY.SITE