Города, как первоначальные в данной местности пункты заселения, огороды или укрепления, в которых искало защиты, в случае опасности, и сельское население, — всегда имели в древней Руси весьма важное значение и в её государственном быту, а тем более в быту военном.
Городов было очень много. Наши летописи насчитывают их в домонгольский период более 300, но и это число, вероятно, значительно меньше действительного.
Города в те времена, были, по современным меркам, не более чем поселениями или городками, окопанными рвом и валом с тыном или частоколом, а иногда имели и более сильные укрепления. Места для городов выбирались соответствующие условиям удобства обороны; большей частью они располагались на возвышенных берегах рек или озёр. Их старались также располагать так, чтобы они примыкали одной стороной к лесами или болотам, которые не только обеспечивали их безопасность в случае нападения с этой стороны, но и служили укрытием для населения и были путём его спасения в случае взятия города неприятелем.
Обязанность рубить города (городоставление) считалась настолько важной, что призыв к ней избавлял призываемых даже от обязанности являться на суд.
В зависимости от степени важности каждого пункта, срубаемые на них городки имели или временное, или постоянное значение, а также большую или меньшую важность. Соответственно этому они и носили различные названия: осеки, остроги, городки, на севере — пригороды и, наконец, города.
C объединением власти в руках одного княжеского рода и уменьшением опасности внешних и внутренних врагов число городов должно было, разумеется, увеличиваться более медленно; сельское же население всё более и более размножалось.
Некоторые городки срубались исключительно в виду военных требований, обычно по приказанию князей. Поставленные в них части княжеских дружин должны были удерживать в повиновении жителей, собирать дани и, наконец, защищать границы или вообще пределы страны, подвергавшиеся нападениям врагов. На юге, например, Владимир построил и укрепил города по рекам Десне, Суле, Остру, Сууше и Трубежу для защиты от набегов печенегов. На севере против немцев были воздвигнуты псковичами Изборск, Гдов и Кобылий; против литвы— Одочва, Велье, Воронич, Красный и Вышгород, в области Великого Новгорода, за недостаточностью пограничных пригородов их построили ещё и по наиболее вероятным путям наступления главнейших враждебных Новгороду соседей. По шведскому пути были построены и укреплены Тиверский, Копорье, Орешек, Ладога; по немецкому — Луга и Яма; но литовскому— Вышгород, Высокое и Порхов.
Вокруг больших городов, по мере роста населения, образовывались автономные поселения, вынесенные за вал окольного города и носившие названия предгородия, или застенные. Эти предгородия также окружались валом. Кроме того, около некоторых городов, преимущественно в южной России, насыпались ещё валы на более или менее значительном расстоянии от города. Пространство между этими валами и предгородиями называлось болонье и в случае опасности служило для сельских жителей и их семей укрытием. Там же располагались склады.
Большинство городов укреплялось сообразно грозившей им опасности. Псков, например, находясь среди небольшой открытой области и имея поблизости сильных врагов, имел четыре стены. Новгород, лежащий среди болот, лесов, озёр и рек, в летнее время делавших его почти недоступными, имел до 14 века всего одну деревянную стену, предположительно, заменённую на каменную Ярославом в 1044 году. В 1116 году она была значительно расширена Мстиславом, и в этом же году город Ладога был также обнесён каменной стеной. Впоследствии, в 14 веке, и другие важнейшие города стали одеваться в камень.