views:

162

answers:

10

After about 4 years of winforms development with VB.Net and C#, I moved onto web development using standard ASP.NET webforms (which I've been doing for the last year and a half). What I'm realising now though is how little I actually know about how the web works. This is partly laziness on my part but partly due to the level of abstraction of ASP.NET.

Can anyone suggest any good books or articles which I should read to gain a better understanding of the lower-level aspects of web development.

A: 

Webmaster in a Nutshell by O'Reilly has sections on HTTP, HTML, Javascript, along with all the bits and pieces that glue it all together.

It's the broadest yet most comprehensive book on the subject I've come across, without being a bit patronising, as some such books can be.

Jeremy Smyth
Getting kinda old, though. 2002 is ages ago on the web.
Adriano Varoli Piazza
A: 

Something with an animal on the cover...

Here's an online tutorial that may be helpful:

http://www.jmarshall.com/easy/http/

There are plenty of others, including the W3C Schools.

richardtallent
A: 

I highly recommend sitting down and writing an application in a slightly lower lever manner, e.g. CGI scripting with PHP or Python. This will give you a much better grounding in what is really happening without the abstraction of ASP.NET, without getting TOO low level.

apathetic
Does ASP.NET actually give a higher level abstraction than PHP? Or do you mean the CGI bit?
Adriano Varoli Piazza
If you're using webforms, then yes, ASP.NET does provide a higher level of abstraction. This is especially true if you come from a Winforms/WPF background, where webforms provides you with a platform much like those, and requires much less knowledge about the HTTP Life Cycle
LorenVS
Is that directly comparable with PHP or Python, or to -say- Django and CakePHP?
Adriano Varoli Piazza
+2  A: 

If you're interested in SSL - there was an excellent explanation posted a few months back - The First Few Milliseconds of a HTTPS Connection. It's quite low level though.

Tom Ritter
A: 

I also recommend reading Weaving The Web by Tim Berners-Lee for a historical grounding of how and why the various components of the web were originally designed.

apathetic
A: 

I think the wikipedia is a good place to start.

http://en.wikipedia.org/wiki/ASP.NET

I also enjoy this one

http://aspnet.4guysfromrolla.com/default.aspx

Rulas
He wants to learn about the guts of the web; not learn more about the asp.net and its abstractions.
Aaron F.
My mistake, sorry about that
Rulas
A: 

This isn't going to directly give you insight into web development with any particular technology, but I still recommend this paper for an overview of architecture of the WWW:

http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm

It's pretty academic, but what do you expect from a doctoral dissertation?

Kevin
A: 

This is a really difficult question and until I tried to answer it I never would have believed it. Yes ASP .NET is higher level but what exactly is lower level? Is it CGI? is it serverside scripting, client side scripting, Javascript, HTML, CSS or all of the above? I guess you just need to start with something on HTML and browsers - fine because the technology is more or less the same - and then web servers - not so easy because you have to opt for a server side technology and they are all so different . Sorry not to be more helpful with a specific recomendation.

mikej
+1  A: 

On how the web works you need to also read a bit about DNS.

cherouvim
A: 

Not a "book or an article", but loading a tool like HTTPAnalyzer or Wire Shark or Paros and watching the requests your browser makes, the response codes, what's sent in the request and response headers, what's cached and not and why, etc. can really provide insight into how "the web" (the http protocol) works.

Ed Schembor