On a Linux server, /doSomething and /dosomething are different (although they may be mapped to do the same thing). IIS servers are not case-sensitive.
–
Andrew LeachJul 1 '13 at 14:53

1

Only comment I can make from an UX perspective is, doSomething and do-something have better readability than dosomething.
–
rk.Jul 1 '13 at 15:36

FYI - I'm not asking which is easier to code. The OS the server is running on is irrelevant ... what's nicer for the user of the website?
–
ripper234Jul 1 '13 at 16:05

@AndrewLeach - That is one of the biggest problems with apache - anyone running an apache web server should turn off case-sensitive URLs.
–
Charles BoyungJul 1 '13 at 16:45

1

If you ever want to change hosting providers, then the OS the server is running on can be pretty important. Moving from a case-in-sensitive to a case-sensitive hosting platform can create all sorts of fun like links no longer working. Vice versa the fun could be in suddenly having duplicate routes whereas before they were distinct.
–
Marjan VenemaJul 1 '13 at 18:15

Unless you have a very important reason to do so (like URL shorteners e.g. bit.ly), URLs should never be case sensitive (regardless of the OS for the server). A user does not want to have to remember that the path to a certain page on your site has capital letters at position X and position Y.

It is also much quicker for the user to type all lowercase. And making your URLs case-insensitive, even on apache-based websites will mean that no matter how someone types your URL in a link or in the browser window, the user will get to your content, which is the most important part.

As for using underscores, hyphens, or nothing, the best thing for search engine optimization is to use hyphens, then each "word" in the URL is considered a "term" by the search engines. Bing treats underscores and hyphens the same way, but Google (at least as recently as I can find) treats words separated by hyphens as separate terms, but combines words separated by underscores into a single term.

Having no spaces between the words means that the entire string is going to be treated as a single word by search engines. If you absolutely do not care about search engines finding your page in any way, then going without hyphens/underscores is definitely easier for a user to type. But my argument at that point is, how many people really type your URLs as opposed to getting there via other means?

For upper-level domains, use camelCase for promotional things outside of the web like commercials and brochures. Basically, if the user can't copy and paste the domain, then use camelCase to make it easier to read and (more importantly) easier to remember. Domains should be case insensitive anyway.

For pages within domains, use hyphens because these names tend to be longer. It's easier to just type a hyphen to separate words than it is to hold down the Shift/Cmd key and type a letter.

Your computer (most likely) considers the last to be separate terms. Google (or any other automatic word indexer) would understand that those are separate terms and would be able to index them properly.

Can you provide the benefits of using camelCase from a UX perspective?
–
rk.Jul 1 '13 at 15:48

From UX prespective, its always better to use something which has a space, so the closest you can get is by using "_" or "-" I replied from a coding perspective earlier. I remember in my old days during my training we were taught that human eyes focus more on the center of the words rather than the entire word, so the easier it is to differentiate words the better.
–
neoeahitJul 1 '13 at 15:53

1

You are saying a _ or - is better and yet are recommending camelcase as the answer? ;)
–
rk.Jul 1 '13 at 15:56

I am saying use your guts! from UX use "-", some users feel it hard to press a shift also, so "-" is safest bet. from a geek/nerd perspective camelCase ;)
–
neoeahitJul 1 '13 at 16:02