從公元前7~6世紀的春秋時代開始,直至公元17世紀的明朝末年,長城的修筑持續了兩千余年。在長城歷史欄目中可以看到長城的整個修建歷史。由于所處時代的生產力、技術水平不同,也由于各個政權所面臨的軍事形勢有所不同,歷代修建的長城在構造、建筑方法及形制方面都互有不同;而由于所處地段地理條件的差異,即便同一時代所修的長城面貌也互有區別。
就工程技術的大勢而言,北魏以前各朝代所修的長城,以版筑夯土為主,北魏時期出現了磚石結構的長城,明代長城則廣泛運用了石砌法、磚砌法、磚石混砌法。不過,就構筑長城的基本原則而言,歷朝歷代卻是共同的。這個共同的基本原則,可以用"因地制宜,據險制塞"八個字概括。所謂因地制宜,一是指巧妙地根據所在地形條件而構筑工程,二是指充分利用當地的自然資源選擇合適的材質為建筑材料。所謂據險制塞,主要是指利用地理天險御敵而言。以下的諸條例證,可以對此給予很好的說明。

敦煌玉門關附近的西漢長城的最高一段,建在當谷隧以東約300米,現存墻體系用流沙、散石、紅柳或蘆葦筑成。這完全是由當地自然地理條件決定的,這里沒有黃土和石材,只出產流沙和小石子,而附近的沼澤地中則生長有蘆葦和紅柳,漢人筑城時,便就地取材,以流沙、石子和蘆葦等物摻和,層層上鋪,一般每層的厚度為20~30厘米不等,整個墻體的高度可達3米多。
而內蒙古錫尼烏蘇山以西的一段漢長城,均用石塊壘砌而成,而從錫尼烏蘇向東,有一段是由石片外包而實夯土,再向東行,則全部為土筑而成,這也是因為就地取材所致。明代仍循前代的做法,在“因地制宜,就地取材,據險制塞”的筑城方法上更加靈活,形式也更加多樣化,在長城建筑工程上達到了高峰。墻體高度亦依地形地勢制宜,一般在山嶺陡峭之處較低,平坦之地較高。在少石多土之地,多為版筑夯土墻,或者用土坯壘砌,例如遼東長城的部分和嘉峪關附近的長城墻體就是如此。
在多石的山區一般利用山脊為墻基,外包砌條石、青磚,內填黃土或者碎石,這樣可以節省建筑材料,省工省力。還有用石塊壘砌的石垛墻,利用險峻山嶺、隨山就勢人工劈鑿的劈山墻,利用大山險阻作為障壁的山險墻等,如遼東山區和燕山山脈的居庸關、八達嶺、金山嶺、慕田峪等處的長城就是這樣。此外,還有用樹木、木板等在山崖處設置的崖榨,在低洼多水、不宜修建墻體之處因地制宜挖成的邊壕,在河岸、山谷,利用自然的陡峭山崖,往往稍加修整即成險阻,加之河流、谷溪的天塹,就構成了一道堅固的防線。這些就地取材,因地制宜的長城構筑方法,既減少了工程量,還達到了制險御敵的理想效果。
就長城的形制和防御功能而言,從長城產生之日起,就不單是一堵孤立的城墻,而越到后期越完善、越嚴密,使長城的整體防御能力不斷增強。
從在今河北、內蒙等地的戰國時期長城遺跡來看,這時的長城沿線已分布有烽燧、城障等設施,情報傳遞系統和縱深的防御配置就已建立。秦漢時期各種設施進一步完善,除了烽燧和亭障以外,在長城內外還增加屯戍城等,而且向縱深發展,形成網絡。據文獻記載,結合出土漢簡和實地考察可知,烽燧數量多且一直延伸到長城以外很遠的地方。屯戍城石屯駐重兵之所,面積一般較大,有數百米見方。
長城經過的交通要沖之處,均設立關隘,嚴密防守。長城的建造者們還在城墻、城堡的外側有意地設置一些障礙物,如僵落、虎落等。秦朝在河套長城一帶,廣植榆樹,以阻擋騎兵,人稱榆關。北齊時期在長城內側設戍,險要之處置州鎮,筑扎軍隊,形成前沿線狀布防。金代長城大部分在今內蒙的草原上,城墻外側普遍挖有護城河狀的塹壕,交通要沖之處還雙壕雙墻并列,形成外壕、副壕、內壕、主墻幾重防線,墻外附筑有馬面與烽燧,內側分布有戍堡或關城。壕墻結合的金長城,增強了前沿的防御能力。馬面的增筑,便于保護守城士兵的安全,也有利于射殺攻至城墻下的敵人。
明代長城的工程技術、形制和防御功能均達到了我國長城修筑史上的高峰。明長城墻體結構堅固,形制設置靈活多樣。作為京畿屏障的北京西北宣府鎮長城,因處于蒙古族南下的要沖,地理位置十分重要,這里就筑有內外兩道長城,在內長城上置有居庸關、紫荊關、倒馬關組成的"內三關"。形成以外長城掩護內長城,內長城護衛內三關,內三關拱衛京師的縱深防御體系。
明長城重要關口的建制和防御設施非常周全,一般都建有方形和多邊形的關城,附筑有甕城,有的還有羅城與護城河,布防十分嚴謹。此外,在長城沿線還設立障、堡、敵臺、了望墩臺等設施,構成了由點到線,由線到面的防衛體系。明長城把軍事重鎮、關城、隘口等有機地連接在一起,使其互為犄角,遙相呼應。這樣幾十某一地失守,也能滯緩敵軍行動,迅速集結兵力,重新組織有效的防御。其構思之巧妙,布局之合理,由此可見一斑。
歷代長城的修筑都是采用分區、分片、分段包干的辦法來完成的。主要是依靠軍隊和征調民夫。秦朝在蒙恬率領幾十萬軍隊擊敗匈奴之后,遂以部隊為主力修筑長城。當然秦始皇還從長城沿線強征了大量民工,后來秦朝政府又在長城沿線設置12郡,承擔維修長城和防守的重任。漢代在修建河西長城時,由武威、張掖、酒泉、敦煌四郡分段負責,然后各郡再依次把任務劃給下屬縣、段,層層分段包干,最后落實到各防守據點的戍卒身上。明代亦沿用此法。著名的薊鎮長城就是戚繼光帶領軍民共同修筑的。