# HTTP and WebSocket built on Boost.Asio in C++11
Branch | Linux/OSX | Windows | Coverage | Documentation | Matrix
------------|-----------|---------|----------|---------------|--------
[master](https://github.com/boostorg/beast/tree/master) | [](https://travis-ci.org/boostorg/beast) | [](https://ci.appveyor.com/project/vinniefalco/beast/branch/master) | [](https://codecov.io/gh/boostorg/beast/branch/master) | [](http://www.boost.org/doc/libs/master/libs/beast/doc/html/index.html) | [](http://www.boost.org/development/tests/master/developer/beast.html)
[develop](https://github.com/boostorg/beast/tree/develop) | [](https://travis-ci.org/boostorg/beast) | [](https://ci.appveyor.com/project/vinniefalco/beast/branch/develop) | [](https://codecov.io/gh/boostorg/beast/branch/develop) | [](http://www.boost.org/doc/libs/develop/libs/beast/index.html) | [](http://www.boost.org/development/tests/develop/developer/beast.html)
## Contents
- [Introduction](#introduction)
- [Appearances](#appearances)
- [Description](#description)
- [Requirements](#requirements)
- [Git Branches](#branches)
- [Building](#building)
- [Usage](#usage)
- [License](#license)
- [Contact](#contact)
- [Contributing](#contributing-we-need-your-help)
## Introduction
Beast is a C++ header-only library serving as a foundation for writing
interoperable networking libraries by providing **low-level HTTP/1,
WebSocket, and networking protocol** vocabulary types and algorithms
using the consistent asynchronous model of Boost.Asio.
This library is designed for:
* **Symmetry:** Algorithms are role-agnostic; build clients, servers, or both.
* **Ease of Use:** Boost.Asio users will immediately understand Beast.
* **Flexibility:** Users make the important decisions such as buffer or
thread management.
* **Performance:** Build applications handling thousands of connections or more.
* **Basis for Further Abstraction.** Components are well-suited for building upon.
## Appearances
| CppCon 2018 | Bishop Fox 2018 |
| ------------ | ------------ |
|
|
|
| CppCon 2017 | CppCast 2017 | CppCon 2016 |
| ------------ | ------------ | ----------- |
|
|
|
## Description
This software is in its first official release. Interfaces
may change in response to user feedback. For recent changes
see the [CHANGELOG](CHANGELOG.md).
* [Official Site](https://github.com/boostorg/beast)
* [Documentation](http://www.boost.org/doc/libs/master/libs/beast/) (master branch)
* [Autobahn|Testsuite WebSocket Results](https://vinniefalco.github.io/boost/beast/reports/autobahn/index.html)
## Requirements
This library is for programmers familiar with Boost.Asio. Users
who wish to use asynchronous interfaces should already know how to
create concurrent network programs using callbacks or coroutines.
* **C++11:** Robust support for most language features.
* **Boost:** Boost.Asio and some other parts of Boost.
* **OpenSSL:** Required for using TLS/Secure sockets and examples/tests
When using Microsoft Visual C++, Visual Studio 2017 or later is required.
One of these components is required in order to build the tests and examples:
* Properly configured bjam/b2
* CMake 3.5.1 or later (Windows only)
## Building
Beast is header-only. To use it just add the necessary `#include` line
to your source files, like this:
```C++
#include https://github.com/boostorg/beast/pulls
Here are some resources to learn more about code reviews: * Top 10 Pull Request Review Mistakes * Best Kept Secrets of Peer Code Review (pdf) * 11 Best Practices for Peer Code Review (pdf) * Code Review Checklist – To Perform Effective Code Reviews * Code review guidelines * C++ Core Guidelines * C++ Coding Standards (Sutter & Andrescu) Beast thrives on code reviews and any sort of feedback from users and stakeholders about its interfaces. Even if you just have questions, asking them in the code review or in issues provides valuable information that can be used to improve the library - do not hesitate, no question is insignificant or unimportant!