final public void make_headers(int rc,String ctype,String enc,String loc,int sz,long lm,long exp,String et)
{
 httprc=rc;
 headers=new ArrayList <String> ();
 Date d=new Date();
 if(ctype!=null) headers.add("Content-Type: "+ctype);
 if(enc!=null) headers.add("Content-Encoding: "+enc);
 if(sz>=0) {
	 headers.add("Content-Length: "+sz);
 }
 else
     if(rc!=304) keepalive=false;
 if(lm!=0) headers.add("Last-Modified: "+printDate(new Date(lm)));

 if(et!=null) headers.add("ETag: "+et);
 /*
   SETUP: Uncoment following line if you want to SC don't send Expired:
     headers from the past.
   if(exp>d.getTime()) headers.addElement("Expires: "+printDate(new Date(exp)));
 */
 if(exp>0) headers.add("Expires: "+printDate(new Date(exp)));
 if(loc!=null) headers.add("Location: "+loc);
 /* prevent TCP/IP FIN2 state !! */
 if(keepalive==false)
 {
     headers.add("Proxy-Connection: close");
     headers.add("Connection: close");
 }else
 {
     headers.add("Proxy-Connection: Keep-Alive");
     headers.add("Connection: Keep-Alive");
 }
 /* less important , may be ignored in old Netscapes */
 headers.add("Date: "+printDate(d));
 headers.add("Server: "+scache.VERSION);
}