Positioning the header with a fixed value, it will make it to ignore its parent position and dimensions. It will always be displayed in the screen, in that fixed position that you will specify (top/left/bottom/right) and the dimensions you will give it.
So you can't have your header follow the body with a given 100% width only and a fixed position. Actually it all depends on what do you want to do. Do you want the header in fixed position, always visible in the screen? Do you also want the header to be full-width ? You said about responsive and about 100%, but you have also your body's width at 1100px.
So with that in mind, you could try something like below, which will keep your requirement for a max width of the page at 1100px and will also position the header in center at fixed position and responsive.
body {
background : #f8f8f8 ;
height : 2000px ;
width: 100%;
max-width:1100px;
margin:0 auto;
box-sizing:border-box;
position:relative;
}
.header {
position : fixed ;
border-bottom : 1px solid #f1f1f1 ;
width : 100% ;
max-width:1100px;
background:#ddd;
}
.header img {
display : block ;
margin-left : auto ;
margin-right : auto ;
margin-top : 50px ;
margin-bottom : 50px ;
}