Closed Bug 132816 Opened 23 years ago Closed 9 years ago

Allow unlimited connections to localhost (persistent and non-persistent)

Categories

(Core :: Networking, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED WONTFIX

People

(Reporter: chuckm, Unassigned)

Details

Currently, there is a default limit of 2 for persistent HTTP connections to a given domain (network.http.max-persistent-connections-per-server in all.js), and of 4 for non-persistent connections (network.http.max-connections-per-server). It would be useful if these limits were not imposed for connections to localhost. An emerging use for Mozilla may be as a GUI front-end (SOAP client) for a locally-running app which acts as a SOAP server. It is entirely conceivable to have several of these apps running at once, each possibly requiring one or more persistent HTTP connections. With a limit of 2 persistent connections to localhost, such a scenario is not practical. So, there's a need for a higher limit. One could argue that a user could solve the problem by increasing network.http.max-persistent-connections-per-server, etc. However, doing so would increase the limit for all domains, thus defeating the usefulness of the limit. Therefore, it would be quite useful to have a separate limit for connections to localhost. I would argue there should simply be no limit -- I can see no rationale for such a limit. (I'll file separate bugs relating to the same issue as it applies to local domains, and to all domains).
OS: Windows 2000 → All
Hardware: PC → All
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Target Milestone: --- → Future
I don't think generally removing this limit for localhost is a good idea. Say you load a image-rich page from a local webserver. Bogging this server down with a hundred connections is as silly as doing that for a remote server. See also #172957 where I propose a different solution.
i would argue that it makes sense to have separate limits for SOAP connections in general. however, this bug could also be addressed by putting each SOAP service at a unique port on localhost. (or is there something that forces a SOAP service to reside on port 80?) doing so would give each service access to 2 persistent browser connections.
Something to consider. In development I have both my server and client locally. If thise enhancement goes through then I will have very different connection characteristics when the application is used by others. An option may be to allow the appliction to request (in a simliar fashion to how security requests are made) and increased number of connections to localhost, or allow the developer to set a property to enable increased localhost connections for the application. Unfortunatly this is more difficult than a blanket increase in the number of connections to a host because you will need to track context specifiers. For example the application talking to http://localhost/services/ wishes unlimited connections but the application talking to http://localhost/services-test/ may want to limit the number of connections to simulate a remote connection.
keep in mind that win9x has a relatively low limit on the number of sockets it can create system wide. the limit is, i think, roughly 50.
On comment #2: Even supposing each service had its own port, why should each service be limited to 2 local connections? It's easy enough to picture wanting to have a single service supporting lots of local connections. On comment #4: Then Win98 should (perhaps?) have some limit, leaving unencumbered those OS's which can handle unlimited socket connections.
bottom line: the demands of web surfing and soap do not overlap nicely. what this really means is that we (as in the network component) need to provide our soap component with the means to control the limits on the number of connections based on whatever makes sense. perhaps the soap protocol layer would be better suited to determine what limits on the number of connections makes most sense.
Since we've had issues w/ hardcoding the maning of localhost, I'd be interested in hearing ideas on identifying what the local connection would be (check for local interface, check via IP address, or check via domain name?)
QA Contact: tever → httpqa
This feature (or better, some separate http prefs for localhost) would also be very usefull for freenet users
-> default owner
Assignee: darin → nobody
Status: ASSIGNED → NEW
Component: Networking: HTTP → Networking
QA Contact: networking.http → networking
Target Milestone: Future → ---
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.