There is no way to enter an upper case domain name, Firefox automatically turns domain name into all lower-case




4 years ago
4 years ago


(Reporter: guohouzuo, Unassigned)


31 Branch

Firefox Tracking Flags

(Not tracked)




4 years ago
User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0 (Beta/Release)
Build ID: 2014072000

Steps to reproduce:

Visit any URL with upper-case letter(s) in domain name, for example:

Hitting enter, and Firefox turns all upper case letters into lower case letters in the domain portion.

Being unfamiliar with URL-related RFC standards, I am not sure whether this is a desired behaviour or not.

Actual results: navigates to

Expected results: navigates to

Comment 1

4 years ago
Probably invalid bug because can be reached by entering
Component: General → Networking

Comment 2

4 years ago
Thanks Loic.

I noticed the bug when I was trying to access a web application deployed behind AWS Load Balancer.

The deployed application is served by Apache HTTP server with a buggy URL-rewrite rule, the rule rewrites an Amazon load balancer URL such as "" into "/anotherpath".

The URL-rewriter is at fault because the rule should have matched domain name in a case-insensitive way. However, putting it aside, I was unable to use the site at all because Firefox turns the domain name into lower case: "".
The rewrite rule is presumably relying on the Host header, right?

The relevant RFC is DNS, which says that domain labels is case insensitive.  So in the spirit of Postel's law, browsers always use lowercase DNS labels...

That said, I see nothing to this effect in
Flags: needinfo?(annevk)

Comment 4

4 years ago
Thanks Boris.

You are right. Firefox makes the domain name lower-case on the user interface, and also sends the Host Header in lower case.

I agree with you that Firefox is doing the right thing, since multiple sources suggest that domain names should be case insensitive. Therefore I'd like to get Firefox team's feedback on whether to make this an issue, or just "working as expected".

Comment 5

4 years ago
The way this works in the URL Standard is that you end up invoking the host parser which ends up invoking if the input is not IPv6. That in turn runs with various variables set. That in turn runs which as step 1 uses a mapping table that is responsible for lowercasing these code points.

This is somewhat convoluted, but once you start dealing with Unicode things just kind of are that way.
Flags: needinfo?(annevk)
Ah, thanks.  Just wanted to make sure this was in fact specced.  Sounds like things are all good here in the sense of all the browsers matching each other and the spec.
Last Resolved: 4 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.