Earlier quoted context omitted.
The whole point of the internet stack is to abstract away the details of the lower layers. A web developer does not need to know TCP. They need to know HTTP. Even if they did know stuff about lower level networking the browser completely locks you out of that level.
The abstractions are super leaky. Infrastructure fundamentals are consequently significant in all applications. Failure or refusal to understand and inwardly digest this leads inexorably to bad software, or more precisely, bad systems. Web developers that do not know TCP/IP and do not wish to are a consequent burden to everyone else; a fountain of horrors arises, from latency issues to security blunders, when mechani…
Ask HN: Good books/courses to learn networking essentials for web developers?
71–76 of 76 posts
Re: Ask HN: Good books/courses to learn networking essentials for web developers?
#72Earlier quoted context omitted.
The abstractions are super leaky. Infrastructure fundamentals are consequently significant in all applications. Failure or refusal to understand and inwardly digest this leads inexorably to bad software, or more precisely, bad systems. Web developers that do not know TCP/IP and do not wish to are a consequent burden to everyone else; a fountain of horrors arises, from latency issues to security blunders, when mechani…
I still disagree. As a web dev, there is absolutely nothing you can do to affect the networking stack. This is all completely buried in web servers and the like. Most CDNs are complete SaaS tools where you can't anything beyond the highest-level. Everything devs do to optimize performance is at the application layer. You can observe things like latency or number of connections and change your code or infra, but you'r…
I have also inspected traffic when investigating/writing patches for server code or the kernel, but that’s a completely separate matter.
What’s more, most nontrivial application code causes additional network activity, from DNS queries to database connections, calls to external APIs et cetera. The all-the-world-is-HTTP fallacy is how wheels get reinvented, but badly, as with websockets or JWTs.
Re: Ask HN: Good books/courses to learn networking essentials for web developers?
#73Re: Ask HN: Good books/courses to learn networking essentials for web developers?
#74* An Engineering Approach to Computer Networking: ATM Networks, the Internet, and the Telephone Network by S. Keshav - This is a great text on fundamentals of Networking. Nothing to do with the "Web" but everything to do with what underpins it.
* Web Protocols and Practice: HTTP/1.1, Networking Protocols, Caching, and Traffic Measurement by Krishnamurthy and Rexford - Best book i have seen yet which explains the interplay between HTTP and the underlying TCP/IP protocol suite.
* Load Balancing Servers, Firewalls, and Caches by Kopparapu.
Re: Ask HN: Good books/courses to learn networking essentials for web developers?
#75I'd recommend Kurose's Computer Networking: A Top Down Approach (now in 8th edition) book if you want to learn a proper computer networks concepts because this is the definitive textbook. If you want the practical aspects of computer networks, you can try Niall Manfields' Practical TCP/IP designing, using and troubleshooting TCP/IP networks on Linux and Windows book. Granted it's a bit old (2nd edition is essentially…
Re: Ask HN: Good books/courses to learn networking essentials for web developers?
#76Try the CCNA course of CISCO, “The Complete Network Fundamentals”. I did one of those years ago. It’s a great course to achieve a good base of networking. CCNA is just the first step to a good introduction, if you like it, you can expand your knowledge with more.