It's 2015, we are already in the "Mobile Era" and we all love how our modern sites fit and adapt to any screen. It's amazing how a website can stretch to the 52 inches of a Samsung TV and also look good on your mobile phone. But you know what?
With the release of Drupal 8 comes a new way of making web requests, available via the Drupal::httpClient. This is simply a wrapper for the wonderful Guzzle HTTP Client.
In Drupal a hook is intended to provide a way for actions to be triggered during a point in the execution of a certain event or process. Hooks are defined within individual modules.