[nycphp-talk] AJAX and State
David Krings
ramons at gmx.net
Fri Sep 7 12:52:18 EDT 2007
Elliotte Harold wrote:
> David Krings wrote:
>>
>> But isn't that the old GET that has so many limitations that many web
>> app design guides basically tell you not to use it?
>
> I have no idea what you're talking about. GET is GET. There's no old GET
> and new GET that I've ever heard of.
Bad wording on my part. The talk went from states and sessions and
whathavenot to the Google URL example, which is nothing more than
passing form info via GET. It came across as this is a great new way of
solving the discussed issue, which indeed it isn't as it is a plain GET
mechanism that is around for ages.
> It's certainly true that there are a lot of bad web app design guides
> out there. Most of them try to reinvent client server on the web.
Uhm, isn't browser and server the purest form of client server? The
server doesn't to crap without the client constantly asking for it.
There are ways to improve that with AJAX or server side scripting like
PHP or a combination of both (which is needed when using databases as
the client cannot connect to the db server directly).
I wouldn't necessarily call the design guides all bad, but they are for
sure different.
> They're like a manual for plastic molding machines that pretends the
> molder is really just a funny kind of table saw and drill press. Follow
> their directions and you'll develop problematic, unscalable
> applications; and certainly lots of people do.
Which begs the question if every app developed needs to be scalable. If
there are at any given point in time no more than a few dozen clients
connecting scalability isn't an issue. So it depends. For the low
client, one site app I find sessions extremely useful.
>
>> And it depends on what you transfer in clear text as URL parameters. A
>> Google search is probably OK, but what if your application is about
>> sensitive data? You then need to craft identifiers that are dropped
>> after first use and never used again or some other untraceable
>> obfuscating mechanism.
>
> No. You use HTTPS.
Understood....bit with all that security discussion, it is funny that
nobody focuses any effort on securing keyboards, mice, and monitors.
Many tests have shown that you don't need a password cracker, but just
some cheap equipment from Radioshack to record signals coming from input
devices. That just as a side note.
>
>> There was also the point made of scalability. As in this example, the
>> search results are not stored anywhere, but get recreated each time a
>> request is sent. That pushes the scalability issue from the web server
>> to the database server, where it may or may not be handled more
>> efficiently.
>
> In point of fact, Google uses probably millions (maybe hundreds of
> thousands but I expect millions) of servers. They need this massive
> horizontal scalability. To make that work you really need to not care
> which server processes any given request. Three subsequent requests can
> and usually do go to three different physical servers. The more session
> state you try to maintain the harder that is to handle.
>
> By contrast, if you design apps so they don't need session state, then
> you can scale horizontally very easily and you need a lot fewer actual
> servers.
Understood as well...which is why Google and the likes drop sometimes
massive cookies on the client side. That addresses the scalability
issue, but is from a security standpoint somewhat questionable, which
again in case of a Google search is likely a non-issue. This is why I
routinely dump all cookies except for a few that I know I want to keep
for convenience.
David
More information about the talk
mailing list