【问题标题】:How to get last-modified of the pass that is added by user dynamically如何获取用户动态添加的通行证的最后修改
【发布时间】:2013-04-24 02:41:26
【问题描述】:

在我通过我的服务器并通过使用以下方式进行最后修改之前:
header('Last-Modified: ' . date("D, d M Y H:i:s", filemtime('/Applications/MAMP/htdocs/passesWebserver/DigiClubCard.pkpass')) . ' GMT+07:00'); 现在我的服务器中没有任何通行证,我只有数据库中的通行证数据,那么我应该如何更改此标头才能获得通行证的最后修改?

【问题讨论】:

    标签: ios6 header last-modified passbook


    【解决方案1】:

    如果您要发送一个新的、动态创建的通行证,以创建具有当前时间的标头,您可以:

    // Tell PHP to use UTC
    date_default_timezone_set ('UTC');
    
    // Create a header with the current time
    header('Last-Modified: ' . date("D, d M Y H:i:s", time()) . ' GMT');
    

    关于时区,HTTP/1.1 标准RFC2616 的第 3.3.1 节指出:

    所有 HTTP 日期/时间戳必须以格林威治标准时间表示 (格林威治标准时间),无一例外。就 HTTP 而言,GMT 正是 等于 UTC(协调世界时)。这表明在 前两种格式包含“GMT”作为三个字母 时区的缩写,在阅读时必须假定 asctime 格式。 HTTP-date 区分大小写,不得包含 除了特别作为 SP 包含在 语法。

    所以您不应该将 7 小时添加到 GMT。

    【讨论】:

    • 所以我需要在创建通行证或获取 web 服务通行证序列时添加这个?
    • 如何知道用户设备中pass的最后修改时间?
    • 您只需将此标头与 .pkpass 一起发送。您应该在第一遍发送它,并响应Get Latest Version of a Pass 方法。设备将在它们随 Get Latest Version of a Pass 请求发送的 If-Modified-Since 标头中回显您的 Last-Modified 日期。
    • 所以为了获取与设备关联的通行证的序列号,我不需要像以前一样添加标题!
    • 否 - 之前添加它从来没有必要。对于 serials 方法,您可以在 JSON 响应中添加一个 lastUpdated 键。
    猜你喜欢
    • 1970-01-01
    • 2012-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-25
    • 1970-01-01
    • 1970-01-01
    • 2021-03-29
    相关资源
    最近更新 更多