Live data from Hacker News

Ask HN: Good books/courses to learn networking essentials for web developers?

news.ycombinator.com

1–10 of 76 posts

Re: Ask HN: Good books/courses to learn networking essentials for web developers?

#2
Try 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.

Re: Ask HN: Good books/courses to learn networking essentials for web developers?

#3
I'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 the same 1st edition), but because you are after the essentials it should be more than fine. Here's the review of the book:

https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=122...

Re: Ask HN: Good books/courses to learn networking essentials for web developers?

#4

I'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…

Yes! Kurose's book was the first book that i read about networking and it gave me a pretty good level of foundational knowledge, highly recommended.

Re: Ask HN: Good books/courses to learn networking essentials for web developers?

#5
I’d recommend High Performance Browser Networking by Ilya Grigorik[0]. It’s definitely less in-depth/comprehensive than some of the other suggestions here but I’ve found it to be a really clear, accessible exploration of networking concepts relevant for web development.

[0] https://www.amazon.com/dp/1449344763

Re: Ask HN: Good books/courses to learn networking essentials for web developers?

#9
Udacity has a Networking for Web Developers course[0], but I'd recommend trying out things (such as running a simple web-app on your own server). Things like:

- Running https://certbot.eff.org/instructions

- Trying out a few different web servers (apache/nginx/caddy)

- Playing around with load-balancers on $cloud_provider.

- Spending time with docker networking (https://docs.docker.com/config/containers/container-networki...)

- Playing around with various X-Forwarded header options in the context of your application

For a web developer, the most useful skill is knowing what each and every component on the pipeline is doing before your code executes on the request. As a common eg, if your application seems to be loading stylesheets from `http://` instead of `https://` despite being loaded over HTTPS, it is often because your application didn't honor the X-Forwarded-Proto header (which most frameworks will do for you). Similarly, seeing a local IP address (192.168.x.y for eg) on a log, and realizing that you should be using the X-Forwarded-Ip by "trusting your proxy"[1] and doing it securely[2].[3].

[0]: https://www.udacity.com/course/networking-for-web-developers...

[1]: https://expressjs.com/en/guide/behind-proxies.html

[2]: https://shubs.io/enumerating-ips-in-x-forwarded-headers-to-b...

[3]: https://blog.ircmaxell.com/2012/11/anatomy-of-attack-how-i-h...

Re: Ask HN: Good books/courses to learn networking essentials for web developers?

#10
post #6

When it comes to networking fundamentals I can definitely recommend "Computer Networks" by Andrew Tanenbaum[0]. [0]: https://www.pearson.com/us/higher-education/program/Tanenbau...

This and the Ross/Kurose one are definitely the canonical textbooks, but Beej's Guide is a lighthearted and more easily digestible alternative if you don't want to learn everything in detail.
Post reply on HN