-
Notifications
You must be signed in to change notification settings - Fork 38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
// gives homepage #170
Comments
Some websites do that. I wouldn't say that this is a huge issue. |
So, two conflicting takes on this:
Since we stand at an intersection of the two, I vote that we go with whatever's implemented, which at the moment seems to be the second option. |
Interesting. A twist: someone registered the empty string as their username on Gittip. I would expect this to show me their profile: |
Treating double slashes as a single slash in URLs is very common practice. I've seen it in a bunch of places (mostly from bad code requesting URLs with repeated slashes and never getting fixed because it didn't break anything). It appears to be the default behavior of both Apache and Nginx and I'm pretty sure I've seen this behavior from IIS (I can't think of a quick way I can check that right now). Playing with URLs in my existing browser tabs, Google, DuckDuckGo and others ignore the repeated slashes, Github gives a 404. |
Okay, so the issue I see with this is: what if there are files: /.spt and /index.html.spt , and someone hits / ? which do they get? is there an implied empty string after every / ? and it overrides the fallback paths? Is .spt a valid filename? (note that it will be a 'hidden' file under unix) This seems orthogonal to the issue of // vs /, but I think it's related enough that if we answer it, it might give us a clue how to answer the // vs / problem. |
It appears that Flask also treats multiple successive slashes as a single slash, for what it's worth. |
I think this is fine as-is. If you really want to differentiate you can make a wildcard sptfile. |
Doesn't seem right to me. http://www.example.com// should be 404. |
I want https://www.gittip.com// to match |
Because some schmoe changed their username on Gittip to the empty string, and I want to be like, "Sure! Go ahead!" :-) |
what if there are files: /.spt and /index.html.spt , and someone hits / ? which do they get? is there an implied empty string after every / ? and it overrides the fallback paths? Is .spt a valid filename? (note that it will be a 'hidden' file under unix) |
If the only way to 'catch' that kind of filename is with a wildcard, I think we shouldn't do it. |
No, there's an actual empty string between every //. :-) |
Treating // as something different than / goes against defacto standards on the web. I'd love to find an RFC that speaks to this. (I have not yet found one.) |
Found this slightly-related reference while working on #195:
|
Also see "HIERARCHICAL FORMS" in http://www.ietf.org/rfc/rfc1630.txt:
|
sigh write me some failing tests into an issue170 branch and I'll see about making the dispatcher work correctly. |
...so if autoindex is on, should a request for And what if there are files: Is Also, since aspen mimics the filesystem mostly, I suspect people will be surprised when |
@whit537 ping. Design opinions needed. |
Another example: https://gratipay.com/about//stats is currently 404. |
Discussing on AspenWeb/salon#8 (at about 40 minutes?) ... let's redirect |
After running
make doc
, I would expect http://localhost:5370// to give me a 404, but instead it gives me the homepage.The text was updated successfully, but these errors were encountered: