Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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.

share|improve this question

marked as duplicate by Mark Trapp Sep 29 '11 at 17:36

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

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 Answers 3

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.

share|improve this answer
    
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.) –  rightfold Sep 30 '11 at 14:16

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.

share|improve this answer

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.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.