Names given to the Spanish language
Formally speaking, the national language of Spain, the official Spanish language, is the Castilian language (as opposed to regional Spanish languages like Galician, Catalan, Asturleonese and Basque). As such both names, "español" and "castellano", have distinct and independent meanings that may be required for clarity in some specific contexts.
Generally speaking, though, both terms can be used to refer to the (national) Spanish language as a whole, with a preference for one over the other that depends on the context or the speaker's origin. "Castellano" (as well as "Castilian" in English) has another, more restricted, meaning, relating either to the old Romance language spoken in the Kingdom of Castile in the Middle Ages, predecessor of the modern Spanish language, or to the variety of Spanish nowadays spoken in the historical region of Castile, in central Spain.
History of the Spanish language
The standard Spanish language is also called Castilian in its original variant, and in order to distinguish it from other languages native to parts of Spain, such as Galician, Catalan, Basque, etc. In its earliest documented form, and up through approximately the 15th century, the language is customarily called Old Spanish. From approximately the 16th century on, it is called Modern Spanish. Spanish of the 16th and 17th centuries is sometimes called "classical" Spanish, referring to the literary accomplishments of that period. Unlike English and French, it is not customary to speak of a "middle" stage in the development of Spanish.