The Movie Database 支持

Within Firebug, the Etag appears like this:

Etag: W/"f505e04d188a34b2a4aaa7e759cdbae9"

Programatically, it returns:

"ETag: "55f3aa25f88ce3f7616794ccd3d139cd""

The question is, should the additional double quotes or W/ be there?

This happens on both movie and person API calls.

7 回复(第 1 页,共 1 页)

Jump to last post

Hi Adi,

I've noticed that as well. I don't actually have an answer for you. The weird part is that with cURL it's fine, but in browsers t's not. That's the part that I don't get.

$ curl -I -L https://api.themoviedb.org/3/movie/550?api_key=###
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=28800
Content-Length: 1338
Content-Type: application/json;charset=utf-8
Date: Mon, 09 May 2016 17:55:09 GMT
ETag: "ef78e0da547af7a65612b734b1273e03"
Server: openresty
Status: 200 OK
Vary: Accept-Encoding
X-Memc: HIT
X-Memc-Age: 19339
X-Memc-Expires: 9461
X-Memc-Key: a7a8be33582080c3e162cfcb93607b73
X-RateLimit-Limit: 40
X-RateLimit-Remaining: 39
X-RateLimit-Reset: 1462816519
Connection: keep-alive

Maybe it's an invisible character or something, I'm just not sure.

Seems to happen about 4% of the time programmatically for Person requests. e.g. ID 54769 was fine, but 4826 had the issue.

Will keep an eye on it and see if there is a pattern. Makes me wonder if it happened to a certain number of files which were updated over a short period where there was a code error.

The W/ is the more common of the two. A lot more common. The issue is replicated both in browser and programmatically.

Okay, so film 146107 is fine:

HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=28800
Content-Type: application/json;charset=utf-8
Date: Wed, 11 May 2016 16:34:47 GMT
Etag: "41739ebf149fba438463473554dedf4c"
Server: openresty
Status: 200 OK
X-Memc: HIT
X-Memc-Age: 1064
X-Memc-Expires: 27736
X-Memc-Key: 6029c2890a4431cbfd77d40f0b774621
X-RateLimit-Limit: 40
X-RateLimit-Remaining: 31
X-RateLimit-Reset: 1462984487
Content-Length: 968
Connection: keep-alive

146113 is not fine:

HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=28800
Content-Encoding: gzip
Content-Type: application/json;charset=utf-8
Date: Wed, 11 May 2016 16:29:15 GMT
Etag: W/"1ee1814e22b8a22c2a7868c7d0880bd8"
Server: openresty
Status: 200 OK
Vary: Accept-Encoding
X-Memc: HIT
X-Memc-Age: 725
X-Memc-Expires: 28075
X-Memc-Key: 456257f798a11d14260b3749dacd0394
X-RateLimit-Limit   : 40
X-RateLimit-Remaining: 28
X-RateLimit-Reset: 1462984155
Content-Length: 1202
Connection: keep-alive

This seems to be the difference between the two:

Content-Encoding: gzip
Vary: Accept-Encoding

W/ has gained those two entries in the header response.

Looks like Varnish-Cache or something similar is the culprit: https://www.varnish-cache.org/docs/trunk/users-guide/compression.html Check the heading: Compressing content if backends don't

We don't use Varnish, but I'll take a read through that and look to see why some responses are serving the Content-Encoding/Vary headers while others aren't.

P.S. I don't have time for this right now, but will try in the next few weeks.

Makes no odds to me. It was just a curiosity, so I thought I would mention it :) But the W/ seems to be a practise which is obviously adopted by more than one caching thing.

找不到电影或节目?登录并创建它吧。

全站通用

s 聚焦到搜索栏
p 打开个人资料菜单
esc 关闭打开的窗口
? 打开键盘快捷键窗口

在媒体页面

b 返回(或返回上级)
e 进入编辑页面

在电视季页面

(右箭头)下一季
(左箭头)前一季

在电视集页面

(右箭头)下一集
(左箭头)上一集

在所有图像页面

a 打开添加图片窗口

在所有编辑页面

t 打开翻译选择器
ctrl+ s 提交

在讨论页面

n 创建新讨论
w 切换关注状态
p 设为公开 / 私密讨论
c 关闭 / 开放讨论
a 打开活动页
r 回复讨论
l 跳转至最新回复
ctrl+ enter 发送信息
(右箭头)下一页
(左箭头)前一页

设置

想给这个条目评分或将其添加到片单中?

登录

还不是会员?

注册加入社区