Confusion regarding following a link

Hi folks ,

I have a little confusion regarding HTTP , I would appreciate if someone could help me solve it.
The problem is as follows:

e.g. I give the following request to a browser:

it Builds the a request that aprt from other things contains the following in which I am interested now:

GET /Top/Computers/Algorithms/ HTTP/1.1

Fine , the server responds back and gives an HTML page to me back .
Now I render the HTML to my GUI .
The HTML contains the following link:

<a href="/Top/Science/Math/Applications/Communication_Theory/Cryptography/Algorithms/">Cryptography</a>

Now the confusion is that if  my user "clicks" on the hyperlink given above , what request should I generate :

What I used to do till now was to classify the situation into three portions:

  Whenever we are currently viewing a certain page on the web , and we try 
  to follow a link to another page , there can be three cases. For all the 
  cases , the current page is say :

  The link I try to follow is : "/"
  Effective URL should be:

  The link I try to follow is : "../../"
  Effective URL should be:

  The link I try to follow is : ""
  Effective URL should be:

I had implemented a little parsing in my application which works in a way that it is given the URL of the resource currently being displayed and the link which we are trying to follow , which given in the HTML after " <a href= " tag. , and then it returns an Effective URL which actually has to be shown . From that URL , I separate the Host part and the relative part , and  build an HTTP request and pass it on to the server . IT used to work pretty fine till now , but I encountered an error today , that led me to believe that I was probably NOT understanding the things probably.

The problem occurred when I got to the page :

The above contains a line in HTML as :
<a href="/Top/Science/Math/Applications/Communication_Theory/Cryptography/Algorithms/">Cryptography</a>

Now when  my user "clicks" on the hyperlink given above , according to my CASES , this thing falls into the FIRST CASE , and what I do is that the EFFECTIVE URL made is:

Fine , so I remove the host and relative part and Build the HTTP request :

GET /Top/Computers/Algorithms/Top/Science/Math/Applications/Communication_Theory/Cryptography/Algorithms/  HTTP/1.1

The server replies that this resource is not there .

When I follow  the same link through MS Internet Explorer , the request it generates is :

GET /Top/Science/Math/Applications/Communication_Theory/Cryptography/Algorithms/ HTTP/1.1

I fail to understand what are the General Rules for following links ? What portion of the RFC refers to it ?

I would really appreciate if someone could explain this to me .

Thanks in advance ,


Received on Thursday, 19 April 2001 23:46:40 UTC