How to perform a query at the URL?

The reason behind this is how the URL rewriting works. No matter what is the setting of your permalink structure, all the requests will be redirected to index.php. So, for example:

example.com/category/travel

will eventually turn into:

example.com/index.php?cat=travel

So in your example:

example.com/category/travel/?year=2007

will be turned into:

example.com/index.php?cat=travel&year=2007

and possibly because the last argument overrides the first, the above will turn into this:

example.com/index.php?year=2007

Which will query the posts that are published in 2007.

Why year<=2007 doesn’t work?

You can’t pass comparison arguments in that way. The query argument must be equal to something, so queries like year<2000 are not valid. You can pass it like year=<2007, but it is up to the script to honor your request. Some scripts might be programmed to recognize it, some not.

Right now, by sending year<=2007, you are telling the server that the value for year< is equal to 2007.