Subscribe by Email


Showing posts with label URL. Show all posts
Showing posts with label URL. Show all posts

Tuesday, August 20, 2019

Don't Hard-Code URLs in Software or Documentation: Use Smart Redirects Instead

Introduction

At first glance, a broken link may not seem like a major issue. But as we discovered firsthand, something as small as a non-functioning URL can highlight a deeper flaw in your development and documentation process. In the early versions of our software, we included direct, hard-coded URLs to external resources in our documentation and help pages. It seemed like a harmless shortcut—until we encountered a real-world consequence that made us completely rethink our approach.

The Problem Begins: A 404 That Uncovered a Systemic Flaw

A year after release, a customer reported a minor defect. One of the URLs in a help page was returning a 404 error. On the surface, this was a low-priority issue. But when we began reviewing it, we quickly saw that it was just the tip of the iceberg. That broken link pointed to an external help page for a third-party component we were using, and the organization behind that component had updated their site structure.

The result? The hard-coded URL we had embedded no longer worked.

This wasn't an isolated case—it exposed a critical weakness in our software design and documentation process. Our system relied on URLs that could change at any time, and we had no way to update them post-release.

Why Hard-Coding URLs Is a Bad Idea

While it might seem convenient to insert URLs directly into your software, documentation, or help files, doing so creates long-term maintenance and reliability issues. Here are just a few scenarios where hard-coded URLs can cause trouble:

1. External Websites Can Change

As with our initial issue, the structure of external websites is out of your control. If you're linking to third-party documentation or tools, there’s no guarantee those pages will remain at the same location. A restructuring, rebranding, or migration can instantly break all your references.

2. Internal Systems Evolve

Even internally, hard-coded links can be fragile. We once updated our internal Help System by moving to a new content management platform. This change altered our entire URL scheme. All previously working links were rendered useless, and fixing them manually would have required hours of work.

3. Page and Content Changes

Sometimes it’s more efficient to update where a link points rather than rewrite and republish several help pages. But when URLs are embedded directly in software or documentation, updating them becomes complex and error-prone.

4. Localization and Version Control Challenges

If you localize your documentation or maintain multiple versions of your product, hard-coded URLs complicate maintenance. Each version may have different content or links, leading to errors, inconsistencies, and duplicate effort.

The Better Solution: URL Redirection

To address this issue, we adopted a more robust strategy: use redirect URLs instead of hard-coded URLs. A redirect URL acts like a middle layer. Instead of pointing directly to the final destination, you point to a redirect link hosted on your own internal server. That redirect, in turn, forwards the user to the correct destination.

This approach gives you the flexibility to change the final target anytime, without needing to modify the software or re-release documentation.

Benefits of Using Redirect URLs

Implementing redirect URLs offers several advantages:

  • Flexibility: You can update the destination at any time without touching the software.

  • Centralized Control: All links can be tracked and managed from one place.

  • Reduced Defects: Fixing broken links no longer requires product patches.

  • Version Independence: You can change targets based on product versions or locales.

  • Long-Term Reliability: Even if external content moves, you remain in control of redirection.

Best Practices for Redirect Management

Using redirects effectively requires a structured approach. Here's what worked for us:

1. Create a Redirect Map

Maintain a detailed file that records every redirect URL, its usage, and the current destination. For each entry, include:

  • Redirect URL

  • Final destination

  • Usage context (help file, tooltip, etc.)

  • Requestor or owner

  • Date created or last modified

  • Comments or purpose notes

This file should be version-controlled in your source code management system, just like your software code.

2. Implement Change Tracking

Whenever a change is made to a redirect, log the change via a formal process—ideally as a tracked defect or feature request. This creates an audit trail, which helps during troubleshooting or reviews.

3. Host Redirects Internally

Use your internal web server or infrastructure for managing redirects. Avoid relying on external services for redirection unless you control them.

4. Use Meaningful Redirect Aliases

Instead of using random strings, use human-readable aliases for redirect URLs. This makes them easier to understand and manage. For example:

  • /redirects/video_help instead of /redirects/abc123

  • /redirects/component_docs_v2 instead of /redirects/xyz456

5. Test Regularly

Set up automated or scheduled testing to validate that all redirects are still functioning and pointing to valid destinations.

Addressing Redirects Across Software Releases

What happens if a redirect breaks, or the target content changes after a software version is released?

By decoupling the hard-coded URL from the final destination, you’ve already protected yourself from most issues. All you need to do is update the redirect. You don’t need to patch the product.

However, for older versions or those with strict support policies, evaluate whether fixing the redirect aligns with your support model. For example, if a security bulletin is posted for a legacy product still used by clients, you can simply redirect to the latest info—even if the original software is years old.

Communication Strategy for Customers

If a redirect breaks or a customer reports an issue, your team can:

  • Quickly confirm the problem

  • Update the destination in the redirect

  • Inform the customer that it’s fixed—often within hours

This builds customer trust. You’re not just fixing issues—you’re responding fast and showing that your development process is future-proof.

You can also use redirects to track user behavior by analyzing which URLs are most clicked. This helps prioritize updates and shows what users care about.

Final Thoughts

Adopting a redirect policy may feel like extra effort at first. It requires planning, documentation, and an internal process for tracking links. But the long-term benefits far outweigh the cost. Once you’ve had to deal with the hassle of fixing a hard-coded URL in released software, you’ll understand just how valuable redirect flexibility can be.

This approach provides future-proofing, minimizes disruption, and improves your ability to respond to change quickly.

Don’t wait until a customer finds a broken link. Plan ahead. Build smart. And never hard-code a URL again.


Monday, April 29, 2013

What is cache memory?


Cache memory is a certain memory aid for computers that speeds them up very well. 
- In cache memory, the storage of the data is transparent so as to make the processing of the future requests faster. 
- A cache might store in it the values that have already computed or duplicate of some values stored somewhere else in the memory. 
- Whenever some data is requested, it is first looked up in the cache memory. - If the data is found here, it is returned to the processor and this is called a ‘cache hit’. 
- In this case the time taken for accessing the data is reduced. 
- This access is thus faster than that of the main memory. 
- Another case is of cache miss when the required data is not found in the cache.
- Then again the data has to be fetched or computed from its original source or the storage location which is slow as obvious. 
- The overall performance of the system increases in proportion with the number of requests that can be served from the cache memory.
- In order to maintain the cost efficiency as well as efficiency in data usage, the size of the cache is kept relatively small as compared to the main memory. 
- However, the caches have proven themselves from time to time because of their ability to recognize the patterns of access in the applications having some locality of reference. 
- Temporal locality is exhibited by the references if the data that was previously requested is requested once again.
- These references apart from temporal locality also exhibit spatial locality if the storage location of the requested data is close to the data that was previously requested.

How is cache implemented?

- The cache is implemented as a memory block by the hardware and as a place of temporary storage. 
- Here, only that data is stored which is likely to be accessed again and again. 
- Caches are not only used by hard drives and CPUs but also by the web servers and browsers. 
- Pools of entries together make up the cache. 
- Each entry has a datum associated with and a copy of it is stored in the backing store. 
- Each entry is also tagged for the specification of the datum’s identity in the backing store.
- When a datum is required to be accessed by a cache client (it might be an operating system, CPU or web browser.) that it thinks might be available in the backing store, the cache is first checked. 
- If the desired entry is found, it is returned for the use. This is cache hit.
- Similarly, a web browser might look in its local cache available at the disk to see if it has the contents of a web page. 
- In this case the URL serves as the searching tag and the contents are the datum. 
- The rate of successful cache accesses is known as the hit rate of the cache.
- In case of a cache miss, the datum not cached is copied in to the cache so as to prevent future cache misses. 
- For making space for this datum, some already existing datum in the cache is removed. 
- Which datum is to be removed is determined by using the replacement algorithms. 


Friday, February 22, 2013

Explain SlimDog - Web Functional/Regression Test Tool


About SlimDog

- SlimDog is a web application testing tool that is based on simple script i.e., the httpunit. 
- The tool comes with a range of commands that help you to work with forms, navigating between the web pages and checking the table contents. 
- The hard task of writing lengthy xml files and JUnit test cases, the slimdog allows the users to create simple text scripts. 
- Each command is a test node that is contained in every line of the script.
- As such all commands contained in a file are treated as a test case and processed as the same. 
- Every command has a syntax that is quite simple as well as easy to learn. 
- If you want, you can form a test suite by combining several test scripts. 
- The results of the tests executed are written as an html page or file to the console. 

How to use SlimDog?

- To use slimdog, firstly you need to download its latest version from its web site. 
- The application will be in zipped form. 
- You need to extract the files to a directory of your choice. 
- Next step is to create a test directory. 
- After this you can start creating tests and save them in the test directory you just created. 
- After you have created the test, your next step is to get the html content. 
- You can run the tests from the command line. 
- After obtaining the results save them to a file. 
- Be careful that the file in which you are saving the result should be defined using the –o argument. 
- You can even navigate from one page to another. 
- All files in the test directory can be run as a test suite. 
- Every test case file must end with .test extension so that it becomes recognizable.
- You can even use a proxy. 
- The slimdog commands can even be used with the JUnit test cases.

- However, running a test case is the easiest way. 
- Firstly, the web tester needs to be instantiated and all commands need to be added through the parse line method.
- You do not have to worry about the syntax since it is the same as that of the script files. 
- After this runtest() method can be called and web test results can be obtained. 

General SlimDog Commands

Below we shall mention some general slimdog commands:
  1. Get_html: This command is for establishing a connection with the given URL and thus reading its content. The read content then can be used later. The parameter to this command is the URL itself and it supports variables.
  2. Check_title: Parameter for this command is the required title and it is of the type test. The title of the page that you specify is checked against the given title. There is one thing about this test which is that if it fails, the entire test will fail.
  3. Set_proxy: The parameters for this command are the proxy port and host. It is of the type command.
  4. Check_link (missing): The parameter for this command is the text within the tag and this one is also of the type test.
  5. Check_text: The text to be found is passed as a parameter to this command and it is of the type test.
  6. Click_link: The argument for this is the text within the tag. It is of the type command.
  7. Seturlprefix: The parameter here is the URL prefix. This URL prefix is used as the base URL for other tests. It is of the type command.
  8. Enable java_script: Parameter is either true or false. This command disables and enables the JavaScript based on the argument passed.


Monday, November 26, 2012

How to add and match defects in Test Director?


Location of the defects and their effective repair forms an inseparable part of the application development and indeed of the test director testing process. Defects can be submitted by almost everyone involved with the development process such as the developers, end users and of course testers. The test director eases all the testing processes and thus defects can be submitted through it and can be tracked until they are appropriately repaired. 

In this article we shall discuss the following two things:
  1. Adding defects in the test director and
  2. Matching defects in test director

Steps in adding defects in Test Director

Whenever a defect is submitted to the test director it is processed through the following  four stages:
  1. New
  2. Open
  3. Fixed
  4. Closed
Addition of the defects to the test director can be carried out at almost any stage of the test process. Below we state the steps that you need to follow in order to add the defects in test director:
  1. Open the test director project with which you are concerned and log on to it.
  2. Next step involves displaying the defects module by clicking on the defects tab. The defect data will be displayed by the defects grid in a grid where each row is a representation of an individual defect record.
  3. Clicking on the add defect button will open up the ‘add defect’ dialog box. The fields displayed in red color are mandatory to be filled up.
  4. Fourth step involves describing the defect by providing the following details:
a) Summary: i.e., what problem the defect actually caused.
b) Category
c)  Severity
d) Subject
e) Detected in version
f) Description:
It includes the part of the code where the defect was discovered and 
what problem was actually encountered.
  1. Now you need to attach the URL address for the page where the defect was found by clicking on the Attach URL button. Clicking on that button will open up a attach URL dialog box. There type the address of the page and click OK. This URL will be displayed above the description box by the test director.
  2. Next run a spell check for the text in the description box. If any errors are found follow the replacement suggestions.
  3. Click on the submit button to submit the defect to the test director project.
  4. Finally, close the add defect dialog box by clicking on the close button. The defect will be added to the defect grid.

How to match defects in Test Director

- The purpose of matching the defects is to find similar defects so that the duplicate ones can be eliminated from the project. 
-  Every time a new defect is added the list of keywords is stored by the test director from the description and summary fields. 
-  The stored keywords are then used for matching the defects. 
- Articles, coordinate conjunctions, wildcards and Boolean operators are ignored by the test director while matching the two tests. 
- Below mentioned steps are for matching defects in test director:
  1. Like for adding the defects this also requires displaying the defects module. Do this by clicking on the defects tab.
  2. From the defects grid select the one you want to match. If in case you cannot find the required test search it using the clear filter/ sort button.
  3. Now click on the find similar defects button to find similar defects. The results will be displayed in the similar defects dialog box by the test director.The defects are searched based up on percentage of the similarity detected.
  4. Finally, click on the close button to close the similar defects dialog box. 


Saturday, July 21, 2012

What is meant by DNS? What does it contain?


DNS or domain name system is a well known distributed system which is quite hierarchical in nature and is used for the following:
  1. Computers
  2. Services
  3. Resources that are connected to some private network or internet and so on.

What does DNS contain?


- With the aid of DNS, the domain names with various participating entities contains various information. 
- A domain name system is also known as domain name service and has taken up the responsibility of resolving the queries for the above discussed domain names into the corresponding IP addresses. 
- The basic purpose of this whole process is spotting the location of devices and computer services on the World Wide Web.
- The domain name system had lately become quite an essential part of the functionality of the internet because of the world wide service it provides regarding the distributed key word based redirection. 
- To put it simply it acts as a phone book in disguise for the internet. 
- It serves as a phone book in the way that it translates the human friendly computer host names in to their corresponding IP addresses. 
For example,
The domain name: www. Abc. Com translates in to the following IP address (say): 192. 0 . 34 . 11 (IPv4) and 2630 : 0 : 2c0 : 201 : : 10 (IPv6) etc.

- Though DNS serves all the purposes of an ideal phone book in terms of the internet, it differs from the phone book in one respect which is that the DNS can be frequently updated and these updates in turn can be distributed but in phone book these tasks cannot be performed so.
- With the help of such a process the location of a particular service on a network can be easily changed without having any affect on the end users who keep on continuing with the same host name. 
-This advantage is further reaped by the users while they recite the meaningful e- mail addresses as well as the URLs (uniform resource locators) without even knowing the way via which the services are actually located by the computers. 
- With the help of domain name system, each and every domain in the network is assigned with an appropriate domain name and this domain name is mapped to corresponding IP addresses through the designation of the authoritative name servers for each and every domain. 
- These authoritative name servers hold the responsibility of their particular domains and also it helps in assigning the sub domains with their respective authoritative name servers.
- Such a mechanism has helped a lot in making the domain name system quite fault tolerant and distributed. 
- This mechanism in another way has eliminated the requirement of a single central register to be used continually for updating and consultation. 
- There is one more additional feature of the domain name system which is that the responsibility of the updating and maintenance of the master record of the domains is distributed among many domain name registrars.
- These domain name registrars are known for their competition for the domain owner’s and end user’s business. 
- The facility of moving the domains from one registrar to another has been very well provided in the domain name system.
- The technical functionality of the data base service as well as the DNS specification is also specified by the domain name system.
- This DNS protocol is a kind of detailed specification of the communication exchanges and data structures that are used in the domain name system which in turn forms a very important part of the whole internet protocol suite. 


Wednesday, May 30, 2012

Explain the concepts of URL manipulation?


Today in this internet savvy world, I guess almost everybody is familiar with what is an URL or uniform resource locator. 
If you see an URL, you can make out that it is nothing but a string of characters. These characters add up to mark up a reference string which points to a source from internet. A uniform resource locator was previously known as uniform resource identifier.
The URLs came in to existence in the year of 1994 along with the introduction of the World Wide Web by Sir Tim Berners – Lee along with the contributions from the internet engineering task force. 
The format of a typical URL consists of the domain names along with the file paths and the forward slashes are used to distinguish between the different file names and folders. Name of the servers are preceded by a double slash. 

Components of URL


Let us now list the components of a typical URL in the order in which they are lined up in the URL:
  1. The scheme name which is usually a protocol.
  2. The scheme is followed by a colon
  3. Two slashes
  4. Name of the domain (if any depending on the scheme).
  5. A port number
  6. CGI (common gateway scripts) scripts
  7. Query string
  8. Fragment identifier (optional)

Categories of URL


- The URLs are categorized under two categories namely relative URLs and absolute URLs. 
- The relative URLs are used whenever the references contained in the resources refer to another resource. 
- These relative URLs are often conceived from the absolute URLs. 
- The URLs locate a resource based on their primary access mechanism. 
- There are various issues related to URLs like URL normalization, URL manipulation etc. 

What is meant by URL Manipulation?


- URL manipulation is just another name for URL rewriting.
- As the term itself suggests it is all about altering the parameters of the URL.
- The URL manipulation is used for good purposes also and for bad ones also. 
- It is a technique that is usually employed by the web server administrator for convenience and is often used by the hackers for nefarious purposes. 
- The original URLs of the resources are quite complicated and complex. 
- Therefore, a purpose of this technique is also to make it easy for the user to access a web resource by providing a simple URL. 
- URL manipulation technique is used so that the user does not require cutting, copying or pasting long and arcane string of characters. 
- This technique is also employed since remembering complex URLs is a difficult task and they are quite lengthy which makes it quite a tedious task for the users to remember or store it and use. 
- Therefore, using the technique of URL manipulation they are modified in to simple and short URLs which are comparatively easy for the users to remember. 

Wrong Use of URL Manipulation
- A nefarious use of URL manipulation is to use the URL of a legitimate site or web resource without the prior permission or knowledge of the site owner or administrator to redirect the users to an illegitimate web site or web resource. 
- Such illegitimate sites then may install malicious code on the hard drive of the user’s system.
- This may also have an intended purpose of increase the traffic on the attacker’s illegitimate web site or application.
- There is a term similar to the term URL manipulation called URL poisoning. These two terms may sound similar in meaning, though they are not. 

What is URL Poisoning?


- URL poisoning is a technique that is employed to track the activities of the user on the web. 
- This technique involves the addition of an identification number to the current URL of the web browser when that particular web site is visited by the user. 
- This URL with the ID number is then used for tracking the visits of that user on the sites.


Wednesday, February 8, 2012

What is the approach for Security Testing of Web Applications?

Like our real world, our cyber world also needs security as rate of cyber crime is also increasing day by day. Attackers are misusing the technology to benefit themselves and this has caused the end users to suffer.

The security of the web sites and web applications needs to be very tight so that attackers are not able to break in to the data bases of the sites and applications and use the critical data and information to their heart’s content.

ABOUT SECURITY OF WEB SITES
- Several security measures are being designed these days and many of them have been adopted.
- The security level of the web sites and web applications needs to be tested just like any other aspect of softwares to ensure that it is error proof and meets the standards.
- Security testing of web applications is very necessary as the security of a web site or application is responsible for the safety of our personal information that we use to access the cyber services and other sensitive information.

WHAT APPROACH SHOULD BE USED TO TEST WEBSITES?
Here the question arises that what approach should be followed for security testing of the web sites and applications?
- For security testing of web applications a planned approach should be followed. - The vulnerabilities of the web application should be listed first so that you can draw out your test plan.
- As the number of users is increasing, the need for a proper security system is also increasing.
- The security testing of the web applications needs to very efficient.
- In security testing, the privacy level of the data is tested i.e., whether or not it stays confidential and that it is not leaked to those for whom it is not meant.
- It also makes sure that the end users are able to perform only those tasks which have been authorized for them and that the users are not able to alter the features and functionalities of a web site or application.
- The tester carrying out the security testing should have good knowledge of Hyper Text Transfer Protocols (HTTP).
- It is important to know how exactly the communication takes place between the browser and the server.
- He/ she should also know about the issues mentioned above in the list.

STEPS INCLUDED IN A TEST PLAN

1.Password cracking
- This is done to access the intimate areas of a web application.
- Password cracking can take a very long time if the password is complex.
- Sometimes the user names and passwords are stored in un-encrypted cookies.
- The attacker can very well steal such cookies to get the user name and password.

2. URL manipulation
- In this step, the URL should be tested for any important information in its query.
- Some times information is passed when the HTTP GET method is employed for passing information between the browser and the server by the application.

3. SQL injection
- This is the third issue to be checked.
- Any unauthorized character entered in the text box by the user should be rejected by the application.
- While testing this aspect, if the tester encounters an error or a bug in the data base of the application, then the web application’s security is said to be vulnerable.
- If the application is not checked against the SQL injections, the critical information can be stolen from the application’s data base.

4.XSS cross site scripting
- This is the fourth aspect to be checked.
- The tester should check whether or not the web application accepts any HTML script.
- If the site or application is found to be supporting HTML scripts, then it is prone to the cross site scripting attacks.

During security testing the configurations of the server and the application should not be touched and modified and security test should not be performed on a production system.


Monday, January 9, 2012

What is the difference between web site and web application testing?

Before discussing the main topic i.e., the differences between website test and web application testing, we should know the difference between the two basic terms i.e., web site and web application.

What is a Website?
- A website can be defined as the collection of web pages that contain videos, text, images and other related digital assets.

- A website is generally hosted on a web server and is accessible via an internet connection or network address called “uniform resource locator” or URL.

What is a Web Page and Web Application?
- A web page can be defined as a document usually written in a plane text formatted with the formatting instructions of the HTML (hyper text mark up language) or XHTML (eXtensible hyper text mark up language) language.

- Suitable mark up anchors can be used to incorporate elements from other websites in to a web page.

- HTTP (hyper text transfer protocol) is used to access and transport the web pages.

- The web pages may employ HTTP secure (HTTPS) to provide extra privacy and security for the person who is going to use that web page content.

- The content of the web page content is rendered on to the display by the web browser according to the HTML instructions of the web page.

- A web page can be easily accessed through its URL usually called its home page.

- The URLs organize the web pages in an appropriate hierarchy order and the hyper links on the pages provide the site structure to the user and guide the user towards the right navigation link.

Now let’s describe web application in contrast to the web site.
- A web application can be defined as an application that is accessed through a network like intranet or internet only.

- It can also refer to a software application that has been coded in a language like java script that supports browsers and it is combined with HTML.

- The application is executable through a web browser.

- The ubiquity of the web browsers is what makes the web applications so popular among the users.

- It also provides the convenience of using a web browser as a thin client. They exhibit cross platform compatibility.

- Some common web applications are online retail sales, wikis and web mail.

- A large world wide audience of a web application or web site, its quality and reliability prove to be a crucial factor for the success of a web application or web site.

- Similarly, the characteristics and behavior of the web applications and web sites pose many challenges during their testing.

- Web site testing and web application testing invariably vary in their methodologies of testing.

- These needs are met by tools that meet these specific needs.

- A web application is a bit difficult to test as compared to web site since in a web application test the tester does not has much control over the web application.

- The application is first loaded on to a server (the location of the server might be known or unknown) and then it is installed on the client’s server and tested.

- The application is tested on various web browsers as well as on different operating systems for browser compatibility, OS compatibility, static pages, error testing, load testing and back end testing.

- Like any other the web site testing forms an essential part of building a successful web site.

- Web site testing involves validation of CSS and HTML code.

- There are two ways of validating the HTML code. First is by URL of the web page and secondly by uploading from the computer itself.

- It also involves testing of all the links on the web site to ensure that they are working properly.

- The web site should well exhibit the cross browser compatibility. Other factors that contribute to the success of a web site are speed of the web page and download time.


Monday, June 27, 2011

What are different search engine optimization techniques?

Search Engine Optimization increases your website's appearance in search results. SEO techniques are tasks that would be performed by a Search Engine Optimization Company, when employed by a Client who desires high search engine positions to attract targeted traffic, with the intention of increasing their conversion rates and brand awareness.

- The search engine optimizer should have a long term outlook as SEO algorithms are changing.
- Patience is very important in SEO job and having a proper knowledge of the SEO company is also important.
- Build a good website with good and unique content.
- Site map should be included which tells the hierarchy of the site.
- The URLs should be SEO friendly.
- Select proper keywords and keyword density.
- The page title and meta tags for the page should be unique.
- Pay per click account should be opened.
- Write, keeping in mind and targeting the users.
- Keywords should be used as anchor text which helps to find out what the linked page is about.
- The links should be built intelligently.
- Participate with other blogs.
- Indulge yourself with social media sites and marketing intelligently.
- Links should be appropriate and avoid excessive linking.
- Develop relationships with other sites.


Tuesday, July 7, 2009

Quick Tip: URLs - Uniform Resource Locator

URLs, or Uniform Resource Locators, are the method by which documents or data are addressed in the World Wide Web. The URL contains the following information:

- the protocol.
- the DNS name of the machine on which the page is located.
- the local name uniquely indicating the specific page.
- the location of the resource in the directory structure of the server.

To make a piece of text clickable, the page writer must provide two items of information : the clickable text to be displayed and the URL of the page to go to if the text is selected. Once the text is selected, the browser looks up the host name using DNS. Now armed with the host's IP address, the browser establish TCP connection to host. Over that connection, it sends the file name using the specified protocol.
The URL scheme is open to have protocols other than HTTP also. In short, URL's have been designed to not only allow users to navigate the Web, but to deal with FTP, news, Gopher, email, and telnet as well, making all the specialized user interface programs for those other services unnecessary, and thus integrating nearly all Internet access into a single program, the Web Browser.
The growing use of the Web has turned up an weakness in URL scheme. A URL points to one specific host. For pages that are heavily referenced, it is desirable to have multiple copies far apart, to reduce network traffic. The advent of systems such as Akami are meant to meet that need, distributing content over multiple servers on a global level.


Facebook activity