The top section of each article is the head. (The rest is the body, but you may have guessed that already.)
There is a lot of useful information in the head: the name of the person
who wrote the article, the date it was written and the subject of the
article.  That's well and nice, but there's also lots of information
most people do not want to see---what systems the article has passed
through before reaching you, the Message-ID, the
References, etc. ad nauseum---and you'll probably want to get rid
of some of those lines.  If you want to keep all those lines in the
article buffer, you can set gnus-show-all-headers to t.
Gnus provides you with two variables for sifting headers:
| gnus-visible-headers | 
If this variable is non- For instance, if you only want to see the name of the person who wrote the article and the subject, you'd say: 
 This variable can also be a list of regexps to match headers to remain visible. | 
| gnus-ignored-headers | 
This variable is the reverse of  
For instance, if you just want to get rid of the  
 This variable can also be a list of regexps to match headers to be removed. 
Note that if  | 
Gnus can also sort the headers for you.  (It does this by default.)  You
can control the sorting by setting the gnus-sorted-header-list
variable.  It is a list of regular expressions that says in what order
the headers are to be displayed.
For instance, if you want the name of the author of the article first, and then the subject, you might say something like:
(setq gnus-sorted-header-list '("^From:" "^Subject:"))
Any headers that are to remain visible, but are not listed in this variable, will be displayed in random order after all the headers listed in this variable.
You can hide further boring headers by entering
gnus-article-hide-boring-headers into
gnus-article-display-hook.  What this function does depends on
the gnus-boring-article-headers variable.  It's a list, but this
list doesn't actually contain header names.  Instead is lists various
boring conditions that Gnus can check and remove from sight.
These conditions are:
| empty | Remove all empty headers. | 
| followup-to | Remove the Followup-Toheader if it is identical to theNewsgroupsheader. | 
| reply-to | Remove the Reply-Toheader if it lists the same address as theFromheader. | 
| newsgroups | Remove the Newsgroupsheader if it only contains the current group
name. | 
| date | Remove the Dateheader if the article is less than three days
old. | 
| long-to | Remove the Toheader if it is very long. | 
| many-to | Remove all Toheaders if there are more than one. | 
To include the four three elements, you could say something like;
(setq gnus-boring-article-headers
      '(empty followup-to reply-to))
This is also the default value for this variable.
 
  The Article Buffer
The Article Buffer
 Using MIME
Using MIME