What is the difference between English as a Foreign Language and English as a Second Language?

Firstly, EFL is essentially a UK term whereas ESL is a US term. Beyond that, a distinction is made between teaching English to non-native speakers in a non-English speaking country (EFL) and teaching English to non-native speakers in an English-speaking country (ESL). This distinction does not seem to be well observed, and many British teachers use EFL as a blanket term whereas many US teachers use ESL as a blanket term. The same of course applies to TEFL and TESL.

(ESL ignores the fact that learners may well be on their third, fourth, fifth or sixth language. EFL, some people contend on purely pedagogical grounds, should stand for English as a First Language!)