Old English hore "prostitute, harlot," from Proto-Germanic *khoraz (fem. *khoron-) "one who desires" (cf. Old Norse hora "adulteress," Danish hore, Swedish hora, Dutch hoer, Old High German huora "whore;" in Gothic only in the masc. hors "adulterer, fornicator," also as a verb, horinon "commit adultery"), from PIE *qar-, a base that has produced words in other languages for "lover" (cf. Latin carus "dear;" Old Irish cara "friend;" Old Persian kama "desire;" Sanskrit Kama, name of the Hindu god of love, kamah "love, desire," the first element in Kama Sutra).
Whore itself is perhaps a Germanic euphemism for a word that has not survived. Some equivalent words in other languages also derive from sources not originally pejorative, e.g. perhaps Old French pute, perhaps literally "girl," fem. of Vulgar Latin *puttus (but perhaps rather from Latin putidus "stinking;" see poontang). Welsh putain "whore" is from French, probably via Middle English. Cf. also Bohemian nevestka, diminutive of nevesta "bride." And Dutch deern, German dirne originally "girl, lass, wench." Among other languages, Greek porne "prostitute" is related to pernemi "sell," with an original notion, probably of a female slave sold for prostitution; Latin meretrix is literally "one who earns wages" (source of Irish mertrech, Old English miltestre "whore, prostitute").
The vulgar Roman word was scortum, literally "skin, hide." Another term was lupa, literally "she-wolf" (preserved in Spanish loba, Italian lupa, French louve; see wolf). And of course there was prostituta, literally "placed in front," thus "publicly exposed," from the fem. past participle of prostituere (see prostitute). Another Old Norse term was skækja, which yielded Danish skøge, Swedish sköka; probably from Middle Low German schoke, which is perhaps from schode "foreskin of a horse's penis," perhaps with the sense of "skin" (cf. Latin scortum) or perhaps via an intermediary sense of "vagina." Spanish ramera, Portuguese ramiera are from fem. form of ramero "young bird of prey," literally "little branch," from ramo "branch." Breton gast is cognate with Welsh gast "bitch," of uncertain origin. Cf. also strumpet, harlot.
Old Church Slavonic ljubodejica is from ljuby dejati "fornicate," a compound from ljuby "love" + dejati "put, perform." Russian bljad "whore" derives from Old Church Slavonic bladinica, from bladu "fornication." Polish nierządnica is literally "disorderly woman." Sanskrit vecya is a derivation of veca- "house, dwelling," especially "house of ill-repute, brothel." Another term, pumccali, means literally "one who runs after men." Avestan jahika is literally "woman," but only of evil creatures; another term is kunairi, from pejorative prefix ku- + nairi "woman." The wh- spelling became current 16c. A general term of abuse from at least 13c. Whore of Babylon is from Rev. xvii:1, 5, etc.
"to have to do with whores," 1580s, from whore (n.). Related: Whored; whoring.