While serving files , the browser could not properly load when i sent mime type as "application/css" but works fine when i send "text/css". I cannot figure out why that is?
'application/css' is not an officially assigned MIME type, while 'text/css' is (see IANA list of assigned media types). Do not expect user agents to process unofficial MIME types just because they 'look like' the same as official ones and humans would deduce the intent.
A similar dichotomy exists for the (main) xml mime type. The difference centers around 'readable/unreadable by a casual user' according to this (admittedly ancient) SO answer which in turn cites RFC 3023 (now obsoleted by RFC 7303). This reason may not apply to '*/css' but may give an idea why browsers behave picky in this regard.