Page MenuHomePhabricator

Use relative URLs in redirects emitted by rest.php
Closed, ResolvedPublic

Description

Make rest.php return HTTP redirects with relative URLs in the Location header. This ensures interoperability with the WMF service mesh, avoiding issues with internal services trying to resolve redirects by accessing the canonical external URLs.

Note that relative URLs are allowed in the Location header per RFC 7231, while the obsolete RFC 2616 required it to be absolute (until 2014). It seems like we can expect clients that use our REST API to conform to the new standard.

From a brief conversation with the Traffic team, there are no immediate concerns. We do have some Varnish rules related to redirects though, which we should be mindful of. E.g.:

Event Timeline

Change 965545 had a related patch set uploaded (by Daniel Kinzler; author: Daniel Kinzler):

[mediawiki/core@master] REST: support relative redirects

https://gerrit.wikimedia.org/r/965545

This shouldn't break anything at the CDN layer [last famous words]. If it does we should fix it so please be bold and go ahead :)

Change 965545 merged by jenkins-bot:

[mediawiki/core@master] REST: support relative redirects

https://gerrit.wikimedia.org/r/965545

daniel claimed this task.

Change 970770 had a related patch set uploaded (by Daniel Kinzler; author: Daniel Kinzler):

[mediawiki/core@master] ParsoidHandler: emit relative URLs in redirects

https://gerrit.wikimedia.org/r/970770

Change 970770 merged by jenkins-bot:

[mediawiki/core@master] ParsoidHandler: emit relative URLs in redirects

https://gerrit.wikimedia.org/r/970770

Change 970764 had a related patch set uploaded (by Daniel Kinzler; author: Daniel Kinzler):

[mediawiki/core@wmf/1.42.0-wmf.3] ParsoidHandler: emit relative URLs in redirects

https://gerrit.wikimedia.org/r/970764

Change 970764 merged by jenkins-bot:

[mediawiki/core@wmf/1.42.0-wmf.3] ParsoidHandler: emit relative URLs in redirects

https://gerrit.wikimedia.org/r/970764

Mentioned in SAL (#wikimedia-operations) [2023-11-02T12:21:51Z] <daniel@deploy2002> Started scap: Backport for [[gerrit:970764|ParsoidHandler: emit relative URLs in redirects (T350219 T349001)]]

Mentioned in SAL (#wikimedia-operations) [2023-11-02T12:36:06Z] <daniel@deploy2002> daniel: Backport for [[gerrit:970764|ParsoidHandler: emit relative URLs in redirects (T350219 T349001)]] synced to the testservers (https://wikitech.wikimedia.org/wiki/Mwdebug)

Mentioned in SAL (#wikimedia-operations) [2023-11-02T12:43:28Z] <daniel@deploy2002> Finished scap: Backport for [[gerrit:970764|ParsoidHandler: emit relative URLs in redirects (T350219 T349001)]] (duration: 21m 37s)

Change 971242 had a related patch set uploaded (by Daniel Kinzler; author: Daniel Kinzler):

[mediawiki/services/parsoid@master] Emit relative redirects

https://gerrit.wikimedia.org/r/971242

Change 971242 merged by jenkins-bot:

[mediawiki/services/parsoid@master] Emit relative redirects.

https://gerrit.wikimedia.org/r/971242

Change 972001 had a related patch set uploaded (by Subramanya Sastry; author: Subramanya Sastry):

[mediawiki/vendor@master] Bump wikimedia/parsoid to 0.19.0-a5

https://gerrit.wikimedia.org/r/972001

Change 972001 merged by jenkins-bot:

[mediawiki/vendor@master] Bump wikimedia/parsoid to 0.19.0-a5

https://gerrit.wikimedia.org/r/972001