JQ学习二十二:浏览器请求过程
URL:统一资源定位符,是互联网上资源的网址。
这个地址缓存在:c:/windows/system32/drivers/etc/hosts
浏览器和DNS服务器,是不会记录这个地址的。
news:是虚拟目录部分,非必须。
同源策略:要求动态内容(如javascript),只能阅读与之同源的那些HTTP应答和cookies,而不能阅读来自非同源的内容。
同源三大要素:http://22.19.89.989:8080/script
- 同协议:如http,https
- 同域名、IP:如www.baidu.com 22.19.89.989
- 同端口:如8080,http默认使用80端口
不满足同源策略的三大要素,就叫做跨域,不能发起网络请求。
比如,访问的地址是:http://22.19.89.989:8080/script
那么文件发起的网络请求,如index.html发起的网络请求,必须是向以上地址发起网络请求。
html发起网络请求时:三大同源素,必须同http://22.19.89.989:8080这个地址中的三个要素相同。
如果index.html发起的网络请求,不是 http://22.19.89.989:8080,那么就是跨域,不能访问。
我们是如何通过浏览器访问网页的?B/S模式。
当我们打开浏览器,在地址栏中输入URL地址:http://www.baidu.com/index.html的时侯;
是去访问这个服务器上的index.html文件的过程。
浏览器和服务器都做了什么操作?我们是怎么在浏览器里面,看到index.html这个web资源里面的内容的?
浏览器和服务器做了以下几个操作:
1.浏览器根据主机名"www.badiu.com",去客户端自己的操作系统的hosts文件中,查找它对应的ip地址。
2.如果浏览器在自己的电脑上的hosts文件中,没有找到对应的ip地址,就去互联网上的DNS服务器上查找
"www.baidu.com"这个主机对应的IP地址。
3.浏览器查找到"www.baidu.com"这台主机对应的IP地址后,就使用IP地址连接到WEB服务器。
4.浏览器连接到WEB服务器后,就使用HTTP协议向服务器发送请求,发送请求的过程中。
浏览器会向WEB服务器以stream(流)的形式传输数据,告诉WEB服务器我要访问服务器里面的哪个WEB应用下的WEB资源。
5.浏览器做完以上4步工作后,就开始等待,等待WEB服务器把我想要访问的index.html这个WEB资源传输给我(浏览器)。
6.服务器接收到浏览器传输的数据后,开始解析接收到的数据,服务器解析GET/WebDemo1/index.html里面的内容时,知道客户端浏览器要访问的是WebDomo1应用里面的index.html这个Web资源;然后服务器就去读取index.html这个Web资源里面的内容,将读到的内容再以stream(流)的形式传输给浏览器。
7.浏览器拿到服务器传输给它的数据后,就可以把数据展现给用户看了。
相当于,服务器重新生成了一个页面,返回给浏览器。
现在,服务器只返回需要填充的数据给浏览器。浏览器将拿到的数据,渲染为新的页面。
同步交互:提交请求--->等待服务器处理-->服务器返回数据。在此期间页面不能进行任何操作。B/S模式。
异步交互:请求通过事件触发-->服务器处理(然后可以做其它的事情)--->服务器响应。ajax。
原生ajax通讯原理:
posted on 2018-12-09 19:23 myworldworld 阅读(226) 评论(0) 收藏 举报