Drupal makes use of "regions". What you can do is give your site three regions (header, content, footer).
Regions are defined in the theme's .info file in the form "region[backend_name] = Title that shows up in frontend". Having the regions "header", "content", and "footer" could be defined thus:
region[header] = This is the Header
region[content] = This is the Content
region[footer] = This is the Footer
After defining the regions in the .info file and enabling the theme, each region can be printed using the backend name thus:
print $header;
print $content;
print $footer;
Blocks are assigned to a region at /admin/build/block