"I get the proper response but the HTTP response header is blank." <- This sentence is illogical and a bit confusing since if you are missing the response header then in no way is the response "proper"; but I'm going to assume you are you saying you receive a correct response body (ie, HTML). That still leaves confusion over what you mean by the response header being blank because it's hard to tell if you mean the status line (first line of the response, ie: HTTP/1.1 200 OK
) or the other header fields or both.
Starting with the status line, I'm going to assume that is actually present because if it wasn't your browser would almost certainly throw an error rather than show you the page (what I assume you mean by "proper response").
Now the other headers. By default Apache will normally add a few response headers related to the date and caching. It's actually pretty hard to turn all these off so I'm inclined to believe your response headers are in fact NOT BLANK in the transmitted data.
If I'm right then the most likely cause of your "problem" is not the server but the client, in particular the plugin you are using to view the headers. I don't know much about the plugin you are using but 2 possiblities come to mind:
1.) Apache is returning a header that your plugin can't parse. It would be a pretty rare thing for Apache to send invalid headers so the fault is probably the client-side parser.
2.) Your Apache options are forcing no-cache
and/or no-store
cache-control and this is causing the document to be expired and deleted BEFORE the plugin can read it.
In your position I would try one or more of the following:
1.) Try another browser and/or header display extension. I use the FF "Live HTTP Headers" extension.
2.) Try sniffing the data "on-the-wire" using a tool like WireShark to see what the server is REALLY sending