Sure you're calling fibonacci(40) and not just defining the function?
Why are you writing web request handlers containing heavily recursive code, and why do you seem to think that indicates anything meaningful about Python?
Please tell me you are not also using SimpleHTTPServer to try to prove points about Python's performance (like http://joshuakehn.com/2011/10/3/Diagnosis-No-Cancer.html and http://blog.brianbeck.com/post/node-js-cures-cancer)
def fibonacci(n):
t = [0, 1]
for i in xrange(n):
t.append(t[-1] + t[-2])
return t[-2]
print fibonacci(800)