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
Related
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
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.
Is it possible that tcp header patterns to behave differently from rfc specification in normal case(i mean when it is not any intrusion or anomaly)? or it will always follow rfc standard in all cases where there is no attack?
The RFC is there to be followed. A host that does not conform to the RFCs (a) cannot be connected directly to the Internet and (b) won't work correctly.
There's too much elaboration about the HTTP protocol. But to its essensce, it's nothing but a string of ASCII characters transmitted over the TCP protocol. And the string defines the semantic of the protocol. Am I right on this?
If so, 2 questions follows:
Can we devise any protocols as we want, cause it just looks like
passing strings over the internet.
Why don't we compress the HTTP strings before we pass it down to the TCP level?
That's right, HTTP is by no means a special, but because it underpins the web it receives a lot of attention. It's an application level protocol like SMTP or FTP or any other.
Yes, you could design any protocol you like. For fun, grab an RFC for SMTP, FTP or HTTP and connect to your own server and learn the protocol. RFC2324 is also required reading - http://www.faqs.org/rfcs/rfc2324.html
Lack of HTTP header compression has been talked about a lot in recent years. See Steve Souders blog/books, YSlow! and Google Page Speed sites. The SPDY protocol is probably going to be the front runner at addressing several of the current issues with HTTP connection management, performance and security - http://www.chromium.org/spdy/spdy-whitepaper
Sure. But you would have to get others to adopt your protocol (unless it is an internal/proprietary spec). And if you can coherently express your communique in the form of HTTP, why not use it? It's widely implemented in virtually every language and operating system, and is well understood and easily debugged. Don't just create protocols for the heck of it.
The HTTP specification provides for several common compression schemes. gzip and deflate are particularly widely used. See, for example, Apache's mod_gzip and mod_deflate. Clients and servers routinely negotiate compression on your behalf.
I am trying to develop my own online game for training purpose.
I have some questions, and I can't find any answers that satisfy me.
Does it exist an online protocol to exchange data between two players? I don't mean TCP or UDP, but a high level protocol. I am looking for a WebService or Remoting with events. I use for now Protocol Buffers, but I need more flexibility (like events). I can develop my own protocol, but I think it exists already a network protocol with events.
I will use the "Command" design pattern or Flex/Bison to parse the query. Is there a better way ?
EDIT
For protocol, I use "protocol buffers".
So I have two options :
Translate my custom protocol into events and callback.
Use a protocol/tool that have already events. Is there such a tool ?
Thank you for your responses.
Regards
Romain
I think you're mixing protocol with protocol implementation. A protocol defines what the messages you send mean and how they are serialized. A message can generate an event at a client but that's an implementation detail.