You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Salesforce v55.0 REST API中If-Modified-Since头使用异常咨询

为何Salesforce REST API在If-Modified-Since晚于记录Last-Modified时仍返回数据?

核心问题出在请求头字段名的格式错误:

  • 你提供的请求头中,If-Modified-Since字段名被错误地添加了双引号("If-Modified-Since")。HTTP规范要求请求头字段名不能包含引号,Salesforce服务器会将这个带引号的字段识别为未知的自定义头,直接忽略If-Modified-Since的条件判断逻辑,因此无论记录的修改时间是否符合要求,都会返回200 OK和完整数据。

  • 对比你测试的两种场景:

    • 当你将请求头时间改为Thu, 08 Sep 2022 15:54:11 GMT时得到正确的304响应,说明此时你大概率修正了请求头字段名的格式(去掉了引号),服务器正确识别了If-Modified-Since头,判断记录未在指定时间后修改,返回304。
    • 当你将请求头时间提前一小时(此时记录修改时间晚于请求头时间),即使字段名正确,服务器也会返回200 OK和数据,这是符合API文档逻辑的正常行为。

解决方法

修正请求头格式,确保If-Modified-Since字段名不带任何引号,正确的请求头格式应为:

GET /services/data/v55.0/sobjects/Contact/{id}
Content-Type: application/json
Authorization: Bearer {access_token}
If-Modified-Since: Thu, 08 Sep 2022 16:54:10 GMT

内容的提问来源于stack exchange,提问作者JoshDevs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 06:05:17