RFCs for implementing HTTP server - http

I'm thinking to start a side project to learn how HTTP servers are built.
I started searching for it and came to know that the specifications are mentioned in RFC documents.
But there are over 8200 RFCs as of August 2017.
Further searching about it got me specific RFC to use for HTTP i.e., RFC2616 on software engineering stackexchange here. There is a comment that says "In 2014, RFC2616 was replaced by multiple RFCs (7230-7237)."
So, do we need to abandon RFC2616 completely and read RFCs(7230-7237)?
We can clearly see on RFC2616 that Obsoleted by RFC 7230, RFC 7231, RFC 7232, RFC 7233, RFC 7234, RFC 7235.
So, what are the RFCs for building HTTP server? Should I only read the documents mentioned as Obsoleted by?

Yes, you just need RFCs 7230..7236 (for HTTP/1.1) and RFC 7540+7541 (for HTTP/2).

Related

Is there a RFC for SOCKS ver4

While taking a look at the rfc for socks version 5 I was wondering whether there are prior versions to socks5. And there was SOCKS4 but I was not able to find a RFC for SOCKS4 instead I found this document
https://www.openssh.com/txt/socks4.protocol
Which gave the implmentation details of SOCKS4. My question is that is there a RFC seperately for SOCKS4 if not why?
I'm new to networks and it would be great to know the answer for this question.
I want to know whether there is an RFC for SOCKS4

Does RFC 9110 effectively obsolete RFC 1945?

Although I'm aware that RFC 1945 is categorized as informational - and therefore is not in the standards track, it seems that RFC 9110 would effectively obsolete RFC 1945 if the latter was an internet standard.
In other words, why would someone that already read RFC 9110 and is not interested in the history of the internet need to read RFC 1945?
I suspect you're correct that if RFC 1945 had been a Standard, RFC 9110 would have obsoleted it. That said, HTTP/1.0 (1945) was not a standards-track document. As an informational spec, it was describing a protocol that already existed, over which the IETF did not have change control. To the extent that protocol still exists, RFC 1945 still accurately describes it.
HTTP/1.1 is under the control of the IETF, and RFC 9112 is the most recent iteration of that specification, which is decidedly still in use.

How do I know which RFC are in use?

The RFC index ( https://tools.ietf.org/rfc/index ) suggests that HTTP Version 2 (RFC7540) and HTTP 1.1 (RFC2068) both have a standard of PROPOSED STANDARD but are pretty well industry standard for HTTP. Does the IETF explicitly or implicitly track RFCs which have been widely accepted, or have a formalized acceptance process?

what is the RFC for the BitTorrent protocol?

Im just looking for the RFC of BitTorrent Protocol.
I reached to the document here is it but what is actually I want is the number of the RFC
You can actually google that.
https://www.rfc-editor.org/rfc/rfc5694

What are good resources to learn HTTP protocol?

Nowadays, I'm reading Front-End Developer Handbook. Because I want to be successfull front-end developer. I've read Coderbyte's guide. There is also an HTTP suggestion in the article.
I researched for HTTP resources. i've found these links:
https://developer.mozilla.org/en-US/docs/Web/HTTP
http://httpwg.org/specs/
https://httpstatuses.com/
http://chimera.labs.oreilly.com/books/1230000000545/index.html
https://code.tutsplus.com/tutorials/http-the-protocol-every-web-developer-must-know-part-1--net-31177
https://code.tutsplus.com/tutorials/http-the-protocol-every-web-developer-must-know-part-2--net-31155
So, I'm looking for different resources to learn HTTP, DNS, Browsers. What are your suggestions to learn HTTP, DNS and Browsers?
Disclaimer: Don't be surprised if this question gets closed. Asking for this kind of resources is off topic here. I would post it a comment, but the content wouldn't fit well, hence I'm posting it as an answer.
RFCs
The RFC's 7230-35 are the official references for the HTTP/1.1 protocol and these document define how HTTP is supposed to work:
RFC 7230: Message Syntax and Routing
RFC 7231: Semantics and Content
RFC 7232: Conditional Requests
RFC 7233: Range Requests
RFC 7234: Caching
RFC 7235: Authentication
For the HTTP/2 protocol, consider the following RFCs:
RFC 7540: Hypertext Transfer Protocol Version 2 (HTTP/2)
RFC 7541: HPACK: Header Compression for HTTP/2
It is worthwhile to mention that documents such as RFC 1945, RFC 2068, RFC 2616 and RFC 2617 are obsoleted and must not be used as reference anymore.
In fact, RFCs are official references and are not meant to be tutorials. RFCs are like legal contracts. If you are looking for something close to a tutorial, I recommend the next resource below.
Mozilla Developer Network web docs
The MDN web docs about HTTP is also a credible source.
I found chapter one of the O'Reilly book "Designing Evolvable Web APIs with ASP.NET" to be a really good summary of HTTP. The book in general is aimed at .NET but the initial chapter is not.
You can read it online free: http://chimera.labs.oreilly.com/books/1234000001708/ch01.html
The most fundamental work from what I have read is The TPC/IP Guite
http://www.tcpipguide.com/free/t_TCPIPHypertextTransferProtocolHTTP.htm
you can call the book 'How the Internet works'
btw it's free
I'd suggest the free book: HTTP Succintly as a great starting point before deep diving into the RFCs.

Resources