Martin Haase-Thomas wrote: > > HTTP defines an 'Accept' header. But that's not much use. For example lynx replies with
HTTP_ACCEPT text/html, text/plain, image/*, image/jpeg, text/sgml, video/mpeg, image/jpeg, image/tiff, image/x-rgb, image/png, image/x-xbitmap, image/x-xbm, image/gif, application/postscript, */*;q=0.01 But it can't render images or postscript! Your best bet is to use the HTTP_USER_AGENT header. From this you can work out what browser the client is using and marry this info with a database of browser capabilities (Microsoft provide one for use with IIS). The main problem is that a client can be modified from the "standard" install to prevent JavaScript, StyleSheets, Images, etc and there is no way to detect this server side. You can detect JavaScript at the client side and redirect to a JavaScript enabled URL or use the <NOSCRIPT> tag to provide alternative content. Again at the client side you can use DHTML to determine client capabilities and redirect or display alternative content accordingly but this will not work with all browsers, see: http://msdn.microsoft.com/workshop/author/clientcaps/overview.asp -- Simon Oliver