you seeem to be confused about what a header is
when you send someting across the internet it has a header that says among other things... what type of data it is:
text/plain text/html.. etc
normally in php all that is written for you and all goes before anything you print out to the screen...
header does not affect you html <head></head> tag
header lets you set info in the actual http request... before your <html> tag, your <html> tag and everything in it is just the body of you httpd request....
if you have written anything out to the screen... even one space.... then php has already fixed and written all headers it will send... you need to be sure to interject with a header() call before you write anyhting.... so it can be added to the list...
hope this helps