Skip to Content
Practical Go
book

Practical Go

by Amit Saha
December 2021
Beginner to intermediate
416 pages
9h 36m
English
Wiley
Content preview from Practical Go

CHAPTER 7Production-Ready HTTP Servers

In this chapter, you will learn about techniques to improve the robustness and stability of HTTP server applications. You will learn how to implement time-outs at various points of your server's request handling life cycle, abort request processing to preserve server resources, and implement graceful shutdowns. Finally, you will learn how to configure your HTTP server so that there is a secure communication channel between a client and your server. Let's get started!

Aborting Request Handling

Consider a specific functionality that your web application provides—say, allowing the user to perform a search over a large dataset based on certain parameters. Before you made this feature available to the users, you performed extensive testing and found out that a search request completes within 500 milliseconds for all of your test scenarios. However, once users started making use of the feature in their applications, you found that, for certain search criteria, the requests may take up to 30 seconds to be completed, sometimes without success. What's worse is that the same search would complete successfully within 500 milliseconds when retried. You are now concerned that this may result in your application being exploited, as multiple such requests can make it incapable of serving any request—operating system resources are finite— open file descriptors, memory, and so on. Sounds familiar? This is how denial of service (DoS) attacks are accomplished! ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Go in Practice

Go in Practice

Matt Butcher, Matt Farina
Efficient Go

Efficient Go

Bartlomiej Plotka
Learning Go

Learning Go

Jon Bodner
Istio in Action

Istio in Action

Christian E. Posta, Rinor Maloku

Publisher Resources

ISBN: 9781119773818Purchase Link