DOC: fix some typos
[wt: ~25 typos, most of which should be eligible for backporting]
diff --git a/doc/intro.txt b/doc/intro.txt
index 957810d..9313824 100644
--- a/doc/intro.txt
+++ b/doc/intro.txt
@@ -75,7 +75,7 @@
- intro.txt (this document) : it presents the basics of load balancing,
HAProxy as a product, what it does, what it doesn't do, some known traps to
avoid, some OS-specific limitations, how to get it, how it evolves, how to
- ensure you're running with all known fixes how to update it, complements and
+ ensure you're running with all known fixes, how to update it, complements and
alternatives.
- management.txt : it explains how to start haproxy, how to manage it at
@@ -130,10 +130,10 @@
A load balancer may act :
- at the link level : this is called link load balancing, and it consists in
- chosing what network link to send a packet to;
+ choosing what network link to send a packet to;
- at the network level : this is called network load balancing, and it
- consists in chosing what route a series of packets will follow;
+ consists in choosing what route a series of packets will follow;
- at the server level : this is called server load balancing and it consists
in deciding what server will process a connection or request.
@@ -222,7 +222,7 @@
Other methods consist in sampling the production traffic sent to a destination
to observe if it is processed correctly or not, and to evince the components
-which return inappropriate responses. However this requires to sacrify a part
+which return inappropriate responses. However this requires to sacrifice a part
of the production traffic and this is not always acceptable. A combination of
these two mechanisms provides the best of both worlds, with both of them being
used to detect a fault, and only health checks to detect the end of the fault.
@@ -472,13 +472,13 @@
--------------------------------
Proxying is the action of transferring data between a client and a server over
-two independant connections. The following basic features are supported by
+two independent connections. The following basic features are supported by
HAProxy regarding proxying and connection management :
- Provide the server with a clean connection to protect them against any
client-side defect or attack;
- - Listen to multiple IP address and/or ports, even port ranges;
+ - Listen to multiple IP addresses and/or ports, even port ranges;
- Transparent accept : intercept traffic targetting any arbitrary IP address
that doesn't even belong to the local system;
@@ -538,8 +538,8 @@
- authentication of the backend server ensures the backend server is the real
one and not a man in the middle;
- - authentication with the backend server lets the backend server it's really
- the expected haproxy node that is connecting to it;
+ - authentication with the backend server lets the backend server know it's
+ really the expected haproxy node that is connecting to it;
- TLS NPN and ALPN extensions make it possible to reliably offload SPDY/HTTP2
connections and pass them in clear text to backend servers;
@@ -571,7 +571,7 @@
HAProxy focuses a lot on availability. As such it cares about servers state,
and about reporting its own state to other network components :
- - Servers state is continuously monitored using per-server parameters. This
+ - Servers' state is continuously monitored using per-server parameters. This
ensures the path to the server is operational for regular traffic;
- Health checks support two hysteresis for up and down transitions in order
@@ -587,7 +587,7 @@
- Agents may be deployed on the server to monitor load and health : a server
may be interested in reporting its load, operational status, administrative
- status independantly from what health checks can see. By running a simple
+ status independently from what health checks can see. By running a simple
agent on the server, it's possible to consider the server's view of its own
health in addition to the health checks validating the whole path;
@@ -642,7 +642,7 @@
a takeover is the most seamless possible;
- Integrates well with standard VRRP daemon keepalived : HAProxy easily tells
- keepalived about its state and copes very will with floating virtual IP
+ keepalived about its state and copes very well with floating virtual IP
addresses. Note: only use IP redundancy protocols (VRRP/CARP) over cluster-
based solutions (Heartbeat, ...) as they're the ones offering the fastest,
most seamless, and most reliable switchover.
@@ -710,7 +710,7 @@
- stickiness information can come from anything that can be seen within a
request or response, including source address, TCP payload offset and
- length, HTTTP query string elements, header field values, cookies, and so
+ length, HTTP query string elements, header field values, cookies, and so
on...
- stick-tables are replicated between all nodes in a multi-master fashion ;
@@ -792,14 +792,14 @@
computation on input data, such as computing ratios, percentages or simply
converting from one unit to another one;
- - IP address masks are useful when some addresses need to be grouped by larger
+ - IP address masks are useful when some addresses need to be grouped by larger
networks;
- data representation : url-decode, base64, hex, JSON strings, hashing;
- string conversion : extract substrings at fixed positions, fixed length,
extract specific fields around certain delimiters, extract certain words,
- change case, apply regex-based substitution ;
+ change case, apply regex-based substitution;
- date conversion : convert to http date format, convert local to UTC and
conversely, add or remove offset;
@@ -824,7 +824,7 @@
Part of their strength comes from being updatable on the fly either from the CLI
or from certain actions using other samples, making them capable of storing and
retrieving information between subsequent accesses. Another strength comes from
-the binary tree based indexation which makes them extremely fast event when they
+the binary tree based indexation which makes them extremely fast even when they
contain hundreds of thousands of entries, making geolocation very cheap and easy
to set up.
@@ -866,7 +866,7 @@
There is no practical limit to the number of declared ACLs, and a handful of
commonly used ones are provided. However experience has shown that setups using
a lot of named ACLs are quite hard to troubleshoot and that sometimes using
-anynmous ACLs inline is easier as it requires less references out of the scope
+anonymous ACLs inline is easier as it requires less references out of the scope
being analysed.
@@ -1037,7 +1037,7 @@
Regarding the protocol-level protection, it is possible to relax the HTTP parser
to accept non stardard-compliant but harmless requests or responses and even to
fix them. This allows bogus applications to be accessible while a fix is being
-developped. In parallel, offending messages are completely captured with a
+developed. In parallel, offending messages are completely captured with a
detailed report that help developers spot the issue in the application. The most
dangerous protocol violations are properly detected and dealt with and fixed.
For example malformed requests or responses with two Content-length headers are
@@ -1078,7 +1078,7 @@
stickiness actions and disconnect reasons, header captures with a safe output
encoding. It is then possible to extend or replace this format to include any
sampled data, variables, captures, resulting in very detailed information. For
-example it is possible to log the number cumulated requests for this client or
+example it is possible to log the number of cumulated requests for this client or
the number of different URLs for the client.
The log level may be adjusted per request using standard ACLs, so it is possible
@@ -1196,7 +1196,7 @@
Depending on the operating system HAProxy is deployed on, certain extra features
may be available or needed. While it is supported on a number of platforms,
-HAProxy is primarily developped on Linux, which explains why some features are
+HAProxy is primarily developed on Linux, which explains why some features are
only available on this platform.
The transparent bind and connect features, the support for binding connections
@@ -1286,7 +1286,7 @@
explains why maximum bandwidth is always measured with large objects, while
request rate or connection rates are measured with small objects.
-Some operations scale well on multiple process spread over multiple processors,
+Some operations scale well on multiple processes spread over multiple processors,
and others don't scale as well. Network bandwidth doesn't scale very far because
the CPU is rarely the bottleneck for large objects, it's mostly the network
bandwidth and data busses to reach the network interfaces. The connection rate
@@ -1348,7 +1348,7 @@
close. Another good rule of thumb is to remember that a high frequency core
with AES instructions can do around 5 Gbps of AES-GCM per core.
-Having more core rarely helps (except for TLS) and is even counter-productive
+Having more cores rarely helps (except for TLS) and is even counter-productive
due to the lower frequency. In general a small number of high frequency cores
is better.
@@ -1374,7 +1374,7 @@
sites run some development branches in production on a voluntarily basis, either
to participate to the project or because they need a bleeding edge feature, and
their feedback is highly valuable to fix bugs and judge the overall quality and
-stability of the version being developped.
+stability of the version being developed.
The new branches that are created when the code is stable enough constitute a
stable version and are generally maintained for several years, so that there is
@@ -1393,7 +1393,7 @@
fix. For example, version 1.5.14 is the 14th fix release in branch 1.5 after
version 1.5.0 was issued. It contains 126 fixes for individual bugs, 24 updates
on the documentation, and 75 other backported patches, most of which were needed
-to fix the aforementionned 126 bugs. An existing feature may never be modified
+to fix the aforementioned 126 bugs. An existing feature may never be modified
nor removed in a stable branch, in order to guarantee that upgrades within the
same branch will always be harmless.
@@ -1482,7 +1482,7 @@
project supporting both file serving and dynamic contents. It can serve as a
frontend for some application servers. In can even proxy requests and cache
responses. In all of these use cases, a front load balancer is commonly needed.
-Apache can work in various modes, certain being heavier than other ones. Certain
+Apache can work in various modes, some being heavier than others. Certain
modules still require the heavier pre-forked model and will prevent Apache from
scaling well with a high number of connections. In this case HAProxy can provide
a tremendous help by enforcing the per-server connection limits to a safe value