7

Possible Duplicate:
What should every programmer know about web development?

I've heard rumblings on this site that web developers should be familiarize themselves with HTTP.

What aspects of HTTP is it beneficial to know as a web developer, and why?

Update: This is not an exact duplicate of This is not a duplicate of "What should every programmer know about web development?" I am asking specifically about the HTTP protocol. I am not using HTTP to mean web development in general.

Vivian River
  • 2,397
  • 5
  • 21
  • 32
  • 2
    The RFC is not all that big. There's just two parts: requests and replies. It's not clear what you mean by "aspect". Can you provide examples or suggestions of "aspects" of HTTP? – S.Lott Sep 29 '11 at 15:50

3 Answers3

10

The most important aspect of HTTP to a web developer is that it is stateless. Every web developer should know this, as it means that if you want to maintain a state for your application, you'll have to do that in your application/on your platform.

You use it in a request/response manner and every web developer should know and understand at least the basic http commands GET and POST.

Falcon
  • 19,248
  • 4
  • 78
  • 93
  • And also understand when to use GET and when to use POST. (e.g. no POST for a search query, no GET for creating a new forum topic.) –  Sep 30 '11 at 14:16
7

I would say Everything.

HTTP is by far the most important application level protocol. The entire Web lives within HTTP, and the more we progress toward service oriented architectures -- the more of HTTP will be exploited.

  • Look at Google -- it's heavily HTTP based architecture. A simple search touches about 200 servers at Google and all of them communicate via HTTP.

  • Some years ago verbs like PUT or DELETE were virtually futile -- but now every decent RESTful service uses them.

  • Everybody knows caching is the best friend of scalability. How would you setup an efficient caching system without mastering HTTP caching infrastructure?

  • HTTP is the most well understood protocol -- there is an entire eco-system around it. You can NOT take good advantage of that if you're only moderately familiar with HTTP.

So, in my opinion, every Web developer should have a thorough understanding of HTTP.

treecoder
  • 9,475
  • 10
  • 47
  • 84
4

Here would be my main ones:

  • Port numbers - This is because you may have to run sites on different ports where you may find a rude shock that some ports are commonly used for some things. For example, 80 is the standard web port, 443 is the standard SSL port, 25 is for SMTP, etc.
  • HTTP Secure - This would be about security in terms of protocols commonly used by people where it helps to know a little of what is going on under the surface.
  • List of HTTP status codes - This can be useful just so that if you see a status code in Firebug or Fiddler you know what this or that means.

HTTP would have the more general data that could be useful though some of it may be common sense like a Request-response model and is stateless.

JB King
  • 16,795
  • 1
  • 40
  • 76