Content Delivery Network is a network of servers hosted by a service provider in multiple locations of the world so that the content could deliver from a server that is nearest to the consumer requesting for it. It has evolved to overcome the inherent limitations of the internet regarding user perceived Quality of Service (QoS) when accessing the Web Content. It has been proposed to maximize bandwidth, improve accessibility and maintain correctness through content replication. The content is distributed to cache servers and located close to the users, resulting in fast, reliable applications and web services for the users. In this paper we provide a components, technologies and comprehensive taxonomy with a broad coverage of CDNs regarding the organizational structure, content distribution mechanisms, request redirection techniques, and performance measurement methodologies.