Invisible Website Hit Counter Project Computer Science Essay

As described in the undertaking proposal, the chief thought for our undertaking is to plan and implement a Servlet that is capable of numbering the figure of hits on a registered web site. The web site director may besides see other statistical information such as: username, watchword, login clip, login continuance, and logout clip. The range of this study is to make a individual web site for a pre-defined set of users. The overall deliverable is a web page that registered users can log into to see the contents.

This progress study covers a literate reappraisal on used engineerings every bit good as some high degree design of our client-server application. There is one alteration made within to-do-list ; alternatively of implementing the Servlet foremost, our group decided to supply the site with an hallmark method. The procedure of developing and cryptography of watchword protected web site is discussed in this study. A Gantt chart that represents the advancement of this research is shown at the terminal of our advancement study.

A web waiter, in general is a computing machine or practical machine that provides the clients with content of a web page. The protocol used is chiefly HTTP ( Hypertext reassign Protocol ) which acts the waiter while any browser accessing through the Internet will be called the client. The early waiters were merely able to supply information by implementing inactive HTML pages, but now the service is dynamic and synergistic between both waiter and client through database questions and feasible books [ 1 ] . Planing web waiters requires a great trade of be aftering in progress and apprehension of the overall system demands.

Internet based waiters need to run all the clip while supplying dependable service. Based on the design forms and clients load consideration, assorted constituents can be chosen for a dependable web waiter. Primary aim of the interior decorator is to do certain that hardware and package constituents are suited for the service and they can execute the necessary undertakings with the least cost to the supplier. [ 2 ] Hardware: For our undertaking we have chosen a desktop which will move as the web waiter and three laptops accessing the site through cyberspace, moving as clients.

The overall design of this undertaking is shown in figure ten. Figure 1 – Overall Hardware Design Software: Based in the Netcraft study in January 2010 [ 3 ] , the tabular array below shows the top web waiter package suppliers, the figure of web sites they have hosted, and the overall per centum of hosted sites. For the range of this undertaking, two merchandise will be considered and compared side by side in order to place the most suited and practical package. The two merchandises, explained in more elaborate in this subdivision, are Apache and IIS. Apache:

This unfastened beginning HTTP waiter was foremost introduced in 1995. Apache is one the most command HTTP waiters since it is able to back up about all the major runing systems. An unfastened community is in charge of developing and keeping the Apache package that can be used for both inactive and dynamic web pages over the World Wide Web. This package allows its user to plan the server side every bit good as supplying assorted hallmark strategies to let secure content entree. Apache can be locally installed on a computing machine where it will be easier for the developer to prove and debug the written codifications.

Iraqi intelligence service: The Microsoft IIS which stands for Internet Information Services was introduced in 1995-6 as portion of the NT operating system. IIS is the lone HTTP waiter that is non open-source [ 1 ] . One of the disadvantages of this waiter type is the fact that it is limited to Microsoft Windows users merely. IIS is based on faculties that can be installed or removed from the bundle in order to supply the best public presentation. Some of those faculties are: HTTP, security, content, compaction, logging and nosologies, and hoarding.

Security options late added includes petition filtering. More security options can be provided by 3rd parties like “ Web App Firewalls ” . Even though both web waiters are popular and suit the demands for this undertaking, Apache web waiter is more suited because of few advantages. As it was discussed, Apache is free and can be implemented on major runing systems like UNIX and Microsoft Windowss. Apache is besides compatible with Java programming and provides an easy to utilize hallmark strategy which will be used to register users ‘ histories. Authentication:

As web applications are widely used in the Internet and many concerns and organisations are depending on them to supply services to their users, web applications security is an issue that have to be addressed in order to maintain them in service and working harmonizing to their intended ends. Harmonizing to computing machine web security statistics, web application onslaughts represent 70 per centum of overall security onslaughts. There are many techniques used for web applications security, such as hallmark, mandate, and entree control. Password hallmark is the de facto hallmark technique for web applications.

In a web client-server application that is designed to function a group of users requires user to be authenticated by user Idaho and watchword. Users who have valid histories merely will be able to login to the web page and recover information. Mandate on other manus is the technique that checks the resources that allowed to be accessed by a specific user. The BASIC of web hallmark is that whenever the user effort to entree a certain web site, the web browser sends a petition to entree the web page to the web waiter which in bend answers with hallmark petition.

Web browser receives the petition and displays the username/password duologue to the user. The user provides the username and watchword associated with his/her history. The web browser sends whatever the user types the web waiter to be authenticated. If the user ‘s information valid, the web waiter will returns the entree controlled web page to the web browser to be viewed by the user. [ 4 ] The protocol that takes attention of the communicating back and Forth between the web browser and the web waiter is called Hypertext Terminal.

HTTP is a homeless client-server application which requires the user to supply login information when trying to entree a web page. Although some web browsers shops users login information for future petition. Web Authentication Configuration The first measure in implementing web hallmark in Apatche is to make a watchword file by using htpasswd public-service corporation. Then, make user Idaho and watchwords that will be stored in the watchword file. Finally, inform the web waiter of the being of the watchword file to be checked whenever the waiter receives login information entered by the user.

Besides, if different group of users required holding entree to different resources, a group files can be created inside the watchword file. Group files will be checked foremost when waiter checks users login information. Servlet Technology: In the text, Making User of JSP, the writer makes a strong instance of utilizing servlets to spread out the functionality of web applications. Servlets are discussed by first supplying a short background on servlet engineering in comparing to viing engineerings. Additionally, the servlet architecture and life rhythm is presented, and so demonstrated with a hit counter servlet illustration.

A servlet is a Java category that offers drawn-out functionality of a waiter. It is implemented as a Java plan, typically run on web waiter, that offers dynamic content to clients. In a web waiter environment a servlet is used to bridge communications between the browser client and the waiter. When a client sends a petition, via HTTP, it will raise a servlet on the waiter, which processes and so returns the requested HTML content to the client. This design allows dynamic processing to happen internally on the server side, and remain unseeable to the client.

The servlet engineering is extremely desirable in web waiter environments because it offers developer ‘s robust functionality, high efficiency, and an easy scalable design when compared to other engineerings. Before Java servlet engineering was introduced the Common Gateway Interface ( CGI ) was the remarkable server-side scripting engineering. CGI plans, typically written in C, C++ , or Perl accomplished the communicating during the client-server request-response rhythm, but faced several disadvantages. For each client petition made a new CGI book demands to be created to treat the petition, and so rupture back down.

This becomes really dearly-won for the operating system to make a big figure of separate procedures in memory to manage incoming petitions. At a certain point the waiter would be unable to accept new petitions if the figure of coincident procedure had reached the planetary bound. Therefore, CGI engineering could turn out to be a really dearly-won and inefficient solution to modern web waiter design. Servlet engineering is similar to CGI in that it is a server side book, but avoids CGI ‘s drawbacks because it is implemented with the powerful and flexible Java API.

With a servlet a separate procedure is non necessitate for every client petition. Alternatively, a Java Virtual Machine ( JVM ) will stay running in the web waiter background, and make a lightweight yarn to service incoming petitions. The servlet is executed in the JVM either when a client petition is received, or when the web waiter is started ; depending on the design. This allows for greater efficiency since a servlet stays active once it is initialized, and continually process petitions without continually puting up or interrupting down.

Furthermore, disk entree is reduced since a servlet will stay actively running offering greater continuity. Servlets are robust since they have full entree to the Java API, which includes strong exclusion handling and refuse aggregation. Additionally, servlets are portable and easy scalable because they are contained in a JVM. It allows servlets to stay platform independent, and easy moved to different web waiters. Competing server-side book engineerings are Active Server Pages ( ASP ) and Java Server Pages ( JSP ) .

ASP is Microsoft ‘s proprietary scripting engineering, which allows snippings of embedded codification to be inserted into a HTML pages. The embedded codification links to Windows COM constituents, which perform the heavy processing. Thus, little parts of dynamic content are executed when the codification is executed on the waiter. ASP is native in Microsoft ‘s web waiter container, Microsoft Internet Information Services ( IIS ) , but may confront compatibility and public presentation issues when run on non-windows platforms. Similarly, JSP is the open-standard option to ASP, and is developed by Sun Microsystems.

JSP uses embedded codification in HTML pages to supply dynamic web content, but really invokes a servlet when executed. So JSP is frequently considered a close comrade to servlets. The servlet architecture is realized by two Java bundles: javax. servlet and javax. servlet. http. The javax. servlet bundle is a generic category bundle extended by all servlets, while the java. servlet. http bundle to implement web-specific serlvets that provide HTTP content. The architecture is defined by three primary methods: init ( ) , service ( ) , and destroy ( ) .

The init ( ) method is responsible for the instantiation and initialzation stages of the server life rhythm. When a client petition is reveived, the service ( ) method is called to get down the service ( ) stage. This is usually the longest stage of the servlet lifc rhythm, and where processing occurs. The destroy stage consists of naming destroy ( ) which closes the servlet and removes it from memory. This typically occurs when the service is ended or the web waiter is shut down. A common application for a servlet in a web waiter environment is in a web site hit counter.

This map is peculiarly utile to net developers interested in detecting the popularity or use of their site by tracking the figure of visits made to the web page. A servlet is ideal for this application since it can be invoked when the client makes a call for the HTML page. The servlet is merely loaded in memory one time, and remains running. A antagonistic increases each clip the HTML page is requested, and so can either by saved to register on disc or end product on the page. Either manner the count variable can be faithfully tracked.

This leaves room for extra functionality such as tracking other environmental variables or the frequence of hits thay may be of involvement to net interior decorators. The servlet engineering offers interior decorators robust functionality, efficiency, and scalability, which is inherited from the powerful Java API. Overall, servlets are a feasible solution in web waiter environments, and are ideal for multi-platform designs. It was made clear in the paper that servlets can be integrated into client-server theoretical accounts to spread out the functionality of web applications.