Аксиома URI Непрозрачность и Кэширование - PullRequest
2 голосов
/ 12 декабря 2010

Мне любопытно, как другие разработчики примиряют http://www.w3.org/DesignIssues/Axioms.html#opaque в контексте веб-кэширования.Я предпочитаю подход Rails к суффиксу запросов ресурсов, основанный на желаемом формате, т.е. .json или .xml, а не полагаясь на заголовок accept, несмотря на то, что он не является URI-непрозрачным.

Та же проблема поднимает голову с XHR.Без добавления параметра запроса, чтобы отличить его от стандартных HTTP-запросов, кэширование должно быть отключено.

Я лично решил, что чистейшая интерпретация непрозрачности URI может быть скорее академической, чем практической.Мнения?

1 Ответ

3 голосов
/ 26 декабря 2010

Формат URI не имеет ничего общего с кэшируемостью, за исключением того, что запросы с параметрами запроса по умолчанию не кэшируются.Все, что связано с кешируемостью запроса GET, определяется заголовками Cache-Control, Expires и Last-Modified (для эвристического кэширования) в ответе сервера, и они не имеют никакого отношения к динамическому или статическому ресурсу.сгенерирован (или, скорее, ваш браузер не заботится и не может заметить разницу).

Непрозрачность URL-адреса предназначена для продвижения одного из основных принципов REST, который заключается в том, что службы должны управляться гипермедиаи что на самом деле клиенты должны «знать» только несколько известных URL-адресов точек входа и получать доступ к другим ресурсам, перемещаясь по ссылкам и формам (или их API-эквивалентам).

...