【网站建设】浏览器发送HTTP请求的3种方式

2016-07-11 1619 0 编辑:Monster 来源:深色多郎(腾讯微博)

为了理解Ajax技术的基本原理,必须深入了解浏览器发送HTTP请求的方式,在传统的Web应用程序中,浏览器向服务器发送一个HTTP请求,一般有以下两种方式。

(1)在浏览器地址栏中输入网址并回车。这将向服务器发送载入一个页面的请求。如果URL中带有查询字符串,则还会将查询字符串中的数据发送给服务器。

(2)提交表单。这将把表单中的数据发送给服务器并且载入action属性中指定的页面。

这两种方式发送HTTP请求有一个共同点,即无论是输入网址还是提交表单,都会使页面刷新。服务器会返回给浏览器一个完整的页面。

实际上,浏览器向服务器发送HTTP请求,还有第三种方式,即使用XMLHttpRequest对象发送异步HTTP请求。所谓“异步”,是指浏览器与服务器交互过程中(即浏览器发送请求和服务器返回响应的过程),用户仍然可以在浏览器上进行其他一些操作,而不必等待服务器响应完成后才能操作。就好比人们在煮饭的同时仍然可以炒菜一样。

异步方式发送HTTP请求与前两种方式发送HTTP请求有明显的不同。因为服务器返回给浏览器的不再是一个完整的页面,而是一些字符串,所以浏览器不会刷新页面(但为了更新页面上的局部区域,通常把服务器返回的数据载入到页面的某些元素中)。

具体来说,异步方式与传统方式发送HTTP请求的区别可总结如下:

(1)传统方式发送HTTP请求时一个HTTP请求对应一个页面,因此每次发送请求后页面会刷新;而异步方式发送HTTP请求不再对应一个页面,发送HTTP请求后页面不会刷新。

(2)传统方式发送HTTP请求后,由于页面会刷新,因此在刷新的过程(载入服务器返回的页面)中,浏览器处于白屏状态,用户无法在浏览器上进行任何操作;而异步方式发送HTTP请求后,页面不会刷新,因此用户仍然可以继续在浏览器上进行其他一些操作。

在很多时候,使用异步方式发送HTTP请求可以给用户带来很大便利。例如,一个用户注册的网页,服务器需要检查用户输入的用户名是否已经被注册过,这需要查询数据库。如果使用传统方式发送HTTP请求的话,则在“发送HTTP请求->服务器查询数据库->服务器返回查询结果的网页”这个过程中,用户都无法在浏览器上进行任何其他操作;而改用异步方式发送的话,则在“发送HTTP请求->服务器查询数据库->服务器返回查询结果的字符串->载入字符串到某个页面元素中”这个过程中,用户仍然能在浏览器中进行其他一些操作,如继续输入后面的注册项等。


本站文章均为深正网站建设摘自权威资料,书籍,或网络原创文章,如有版权纠纷或者违规问题,请即刻联系我们删除,我们欢迎您分享,引用和转载,但谢绝直接搬砖和抄袭!感谢...
关注深正互联
我们猜你喜欢