Я писал спецификацию о том, как организовать параметры запроса, отправляемые в HTTP-запросе, и придумал следующее:
Все параметры имеют префикс с сущностью, к которой они принадлежат,Например, «ab», который читается как «b объекта a», таким образом, каждый параметр будет четко отображаться на соответствующий объект, но что, если бы существовали два различных объекта, которые совместно используют параметр запроса?, чтобы избежать повторения и размера запроса Iпридумал следующий микроформат.Чтобы иметь сущность запроса, называемую shared
, каждое свойство shared
будет представлять свойство, которое совместно используется сущностями, например,
POST /app/my/resource HTTP/1.1
a.p = v
b.p = v
c.p = v
d.p = v
. Здесь ясно, что свойство p
совместно используется * 1009.* и d
, так что это может быть отправлено как
POST /app/my/resource HTTP/1.1
shared.p = a:b:c:d%v
Теперь запрос меньше, а я немного больше DRY , однако это добавляет дополнительную нагрузку насервер, так как он должен проанализировать строку для обработки значений.
Возможно, в моем примере различия незначительны, и я мог бы выбрать и то, и другое, но я хотел бы знать, что вы об этом думаете, что бы вы предпочли, возможно, размер запроса не имеет значения, илиможет быть, разбор строки не так уж важен, когда длина короткая, но что произойдет, когда мы масштабируем размер запроса и строки, какой из них будет лучше, каковы компромиссы?