late Old English hæfen "haven, port," from Old Norse höfn "haven, harbor" or directly from Proto-Germanic *hafno- (source also of Danish havn, Middle Low German havene, German Hafen), perhaps from PIE root *kap- "to grasp" (source of have) on notion of place that "holds" ships. But it might rather be related to Old Norse haf, Old English hæf "sea" (see haff). Figurative sense of "refuge," now practically the only sense, is c. 1200.