A Grothendieck topology on a category is a choice of morphisms in that category which are regarded as covers.
A category equipped with a Grothendieck topology is a site. Sometimes all sites are required to be small.
Probably the main point of having a site is so that one can define sheaves, or more generally stacks, on it. In particular, the category of sheaves on a (small) site is a Grothendieck topos.
A Grothendieck topology $J$ on a category $C$ is an assignment to each object $c \in C$ of a collection of sieves on $c$ which are called covering sieves, satisfying the following axioms:
If $F$ is a sieve that covers $c$ and $g: d \to c$ is any morphism, then the pullback sieve $g^* F$ covers $d$.
The maximal sieve $id: \hom(-, c) \hookrightarrow \hom(-, c)$ is always a covering sieve;
Two sieves $F, G$ of $c$ cover $c$ if and only if their intersection $F \cap G$ covers $c$. (Here the saturation condition is important.)
If $F$ is a sieve on $c$ such that the sieve $\bigcup_d \{g: d \to c| g^* F \; covers \; d\}$ is a covering sieve of $c$, then $F$ itself covers $c$.
The set of covering sieves of an object $c$ is denoted $J(c)$.
A category equipped with a Grothendieck topology is called a site .
The first axiom guarantees that we have a functor $J: C^{op} \to Set$. Thus $J$ itself can be regarded as an object of the presheaf topos $[C^{op},Set]$; in this way Grothendieck topologies on $C$ are identified with Lawvere-Tierney topologies on $[C^{op},Set]$.
Given a Grothendieck topology $J$ on a small category $C$, one can define the category $Sh(C,J)$ of sheaves on $C$ relative to $J$, which is a reflective subcategory of the category $[C^{op},Set]$ of presheaves on $C$. Thus we have a functor $C\to Sh(C,J)$ given by the composite of the Yoneda embedding with the reflection (or “sheafification”). This composite functor is fully faithful if and only if all representable presheaves are sheaves for $J$; a topology with this property is called subcanonical.
Grothendieck topologies may be and in practice quite often are obtained as closures of collections of morphisms that are not yet closed under the operations above (that are not yet sieves, not yet pullback stable, etc.).
Two notions of such unsaturated collections of morphisms inducing Grothendieck topologies are
The archetypical example of a Grothendieck topology is that on a category of open subsets $Op(X)$ of a topological space $X$. A covering family of an open subset $U \subset X$ is a collection of open subsets $V_i \subset U$ that cover $U$ in the ordinary sense of the word, i.e. which are such that every point $x \in U$ is in at least one of the $V_i$.
Any regular category $C$ admits a subcanonical Grothendieck topology whose covering families are generated by single regular epimorphisms. If $C$ is exact or has pullback-stable reflexive coequalizers, then its codomain fibration is a stack for this topology (the necessary and sufficient condition is that any pullback of a kernel pair is again a kernel pair).
Any extensive category admits a Grothendieck topology whose covering families are (generated by) the families of inclusions into a coproduct (finite or small, as appropriate). We call this the extensive coverage or extensive topology. The codomain fibration of any extensive category is a stack for its extensive topology.
Any coherent category $C$ admits a subcanonical Grothendieck topology in which the covering families are generated by finite, jointly regular-epimorphic families. Equivalently, they are generated by single regular epimorphisms and by finite unions of subobjects. If $C$ is extensive, then its coherent topology is generated by the regular topology together with the extensive topology. (In fact, the coherent topology is superextensive.)
On any category there is a largest subcanonical topology. This is called the canonical topology, with “subcanonical” a back-formation from this (since a topology is subcanonical iff it is contained in the canonical topology). On a Grothendieck topos, the covering families in the canonical topology are those which are jointly epimorphic.
A more general notion is simply a collection of “covering families,” not necessarily sieves, satisfying only pullback-stability; this suffices to define an equivalent notion of sheaf. Following the Elephant, we call such a system a coverage. A Grothendieck topology may then be defined as a coverage that consists of sieves (which the Elephant calls “sifted”) and satisfies certain extra saturation conditions; see coverage for details.
An intermediate notion is that of a Grothendieck pretopology, which consists of covering families that satisfy some, but not all, of the closure conditions for a Grothendieck topology. Many examples are “naturally” pretopologies, but must be “saturated” under the remaining closure conditions to produce Grothendieck topologies.
As remarked above, Grothendieck topologies on a small category $C$ are also in bijective correspondence with Lawvere-Tierney topologies on the presheaf topos $[C^{op},Set]$. See Lawvere-Tierney topology for a description of the correspondence.
See also
Standard texbooks inlcude
Discussions of variants of the notion and its variants is at historical notes on Grothendieck topology.