Dating back to work of Berthelot, rigid cohomology appeared as a common generalization of Monsky-Washnitzer cohomology and crystalline cohomology. It is a p-adic Weil cohomology suitable for computing Zeta and L-functions for algebraic varieties on finite fields. Moreover, it is effective, in the sense that it gives algorithms to compute the number of rational points of such varieties. This is the first book to give a complete treatment of the theory, from full discussion of all the basics to descriptions of the very latest developments. Results and proofs are included that are not available elsewhere, local computations are explained, and many worked examples are given. This accessible tract will be of interest to researchers working in arithmetic geometry, p-adic cohomology theory, and related cryptographic areas.