Location
Location is a property of an object.
For a thing or a player, location is the object in which the thing or player is contained. A thing or player may be located in a room, a thing, or a player. A related concept, the absolute location, refers to the outermost containing object (which must be a room).
For an exit, location is the room which is the destination of the exit (the source of the exit is its home). Many find this counterintuitive.
For a room, location is either nothing (represented by special dbref #-1) or is the room's drop-to location.
See also: @whereis, loc(), room(), home().
Server Differences
Considering the realities of the physical world, one would expect that you should not be allowed to enter something you are ultimately carrying. This would create a circular locational reference with no outermost containing object.
PennMUSH attempts to prevent circular location references.
TinyMUX does not attempt to prevent circular location references. This implies that loc() sometimes returns #-1 (nowhere) and softcode should expect this.