Opened 14 years ago

Closed 13 years ago

Last modified 13 years ago

#154 closed design (fixed)

Content-Location base-setting problems

Reported by: mnot@… Owned by: mnot@…
Priority: normal Milestone: unassigned
Component: p3-payload Severity: Active WG Document
Keywords: Cc:


Browser implementers don't generally implement Content-Location's base-setting semantics, because of a number of cited problems;

1) Servers often set the wrong C-L, so that a non-existent location is given, and/or internal implementation details are exposed. E.g., if a gateway rewrites URLs but doesn't rewrite Content-Location.

2) HTTP's advice to set Content-Location when doing server-driven content negotiation results in links that are relative to a negotiated resource, rather than the desired (non-negotiated) URI.

See also:

Tangental relation to #80 and #136.

Change History (5)

comment:1 Changed 14 years ago by mnot@…

Two proposals, both by Roy:

The only thing that should be changed at this point is 14.14:

The value of Content-Location also defines the base URI for the entity.

s/also defines/does not define/;

I would prefer to say that a recipient may disregard the base-setting semantics if there also exists a base URI from the retrieval context and use of that base URI for parsing relative references within the entity results in fewer errors than use of the Content-Location URI. A bad Content-Location value SHOULD be reported to the user as an error.

comment:2 Changed 14 years ago by mnot@…

  • Owner set to mnot@…
  • Priority set to normal


Remove base-setting semantics for HTTP content-location header. Note that this differs from the MIME header of same name.

comment:3 Changed 13 years ago by julian.reschke@…

From [712]:

Mention TRACE and OPTIONS as safe in prose (see #154)

comment:4 Changed 13 years ago by mnot@…

  • Resolution set to fixed
  • Status changed from new to closed

comment:5 Changed 13 years ago by julian.reschke@…

From [714]:

dropping base-setting semantics for C-L - expand the bit in the Changes section (see #154)

Note: See TracTickets for help on using tickets.