Open Bug 1810738 Opened 2 years ago Updated 1 year ago

Proxy override Host matching inconsistency with Chrome

Categories

(Core :: Networking, enhancement, P3)

enhancement

Tracking

()

People

(Reporter: eros_uk, Unassigned)

References

(Blocks 1 open bug)

Details

(Whiteboard: [necko-triaged])

Preamble

Proxy bypass/override feature is provided in Firefox (via Network Settings UI and extension proxy.settings API), and in Chrome (via extension chrome.proxy API).

There are a number of inconsistencies between Firefox & Chrome implementation of proxy bypass list.

  • Host matching
    In Chrome, example.com only matches the exact host while in Firefox it matches any host containing the string.
  • PAC
    As posed in Inconsistency: Proxy Bypass list, Chrome doesn't apply the bypass list to the PAC which limits its versatility.
    Firefox's approach is more beneficial (please keep the feature).
  • Array vs comma-separated string
    Not that important though

📌 The Host matching inconsistency is the subject of this bug filing.

Purpose

Besides the inconsistency with Chrome, the Chrome pattern matching has additional versatility.

Examples: "foobar.com", "*foobar.com", "*.foobar.com", "*foobar.com:99", "https://x.*.y.com:99".

It enables specific rules to include or exclude subdomains.

Hosts often use subdomain to point to a different server, or different location altogether. For example,api.example.com may be in a different country comparing to the primary example.com server.
Location based servers are also common e.g. en.example.com, de.example.com etc

Furthermore, some subdomains may serve different types of service comparing to the main domain server. The aforementioned situation is more common with proxy servers where often subdomains may point to a proxy-server while the main domain points to a web-server.

Note: In Firefox, the proxy override can match TLD which is quite useful e.g. .fr (please keep the feature). Chrome documentation does not show TLD matching.

In other words ...

.fr = *.fr
.example.com = *.example.com

We might want to implement this behind a pref.

Severity: -- → N/A
Priority: -- → P3
Whiteboard: [necko-triaged] [necko-priority-review]
Blocks: necko-proxy
Whiteboard: [necko-triaged] [necko-priority-review] → [necko-triaged]
You need to log in before you can comment on or make changes to this bug.