Hi I'm a relatively new student in computer science university program. We're getting into web development now. So far, I've only used Visual Studio. Should I be learning how to work with Apache AND IIS? What is the difference? Can I use Visual Studio with Apache? If I download XAMPP, can I still use IIS on the same machine later on?
Yes, you should look at IIS and Apache to see how they compare.
What is the difference? One runs on Windows only. Apache runs on almost every platform.
I've never tried to use Apache with VS.
They can run on the same machine, as long as they're configured for different ports.
you can use IIS
and apache
on the same machine simply you would have to setup one of them not to listen on the standard port 80
.
What language will you use for your test. if you use plain CGI apache and IIS are fine. If you are doing some dotnet project it would be better to keep playing with IIS.
It's possible to do some ASP.net on apache but require to use mono and that a bit more complex.
Also it's usually more easy to administrate some Apache server, there is a lot of resource on the web about apache. IIS is sometimes more difficult to figure out.
They are both web servers. IIS is used mostly by Microsoft shop developers as it comes with ASP.NET support - the core of Microsoft's server side technology. Apache is used by almost everyone else (Java, PHP, Python, Ruby, etc. developers) on mostly Linux and Unix servers. Although Apache can technically run on Windows, if you are using Windows servers and programming on Visual Studio, it would make more sense for you to use IIS. Apache is generally more widely used worldwide http://news.netcraft.com/archives/2009/10/17/october_2009_web_server_survey.html
IIS is a web server that runs on Windows only, whereas Apache is a cross-platform server that will work on Windows, Linux, Mac OS X and various flavors of UNIX. Though you can make either of these servers work with pretty much any web technology (ASP.NET, PHP, Python) there are some natural pairings that you'll find are pretty common.
If you're working with ASP.NET, IIS is the natural fit since both are Microsoft products. Learning how to work with it will help you if you were to start placing your applications on IIS servers later on.
PHP and Python are more naturally paired with Apache. XAMPP, for example, already comes with PHP configured to work on Apache. (LAMP, WAMP and MAMP are other editions of this on various platforms.
You can download versions of PHP, Perl and Python to work with IIS. Some of this can be done with the MS Web Platform Installer, others require a bit more elbow grease. That said, there are installation packages available on many of the technologies' websites.
If you want to work with Mono's open-source port of ASP.NET, on Apache, you'll need to configure the mod_mono extension for Apache.
You can configure as many web servers as you want on the same machine, so long as each of them is listening on a different port.