发表于: 2017-04-16 21:59:08
1 1250
今天完成的事情:今天周日,看了一下书。然后看了一下如何用apache配置反向代理服务器。
明天计划的事情:把任务5完成。
遇到的问题:关于ajax xhr方面的问题。
收获:了解 什么是反向代理服务器:
。通常的代理服务器,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服务器中。由于外部网络上的主机并不会配置并使用这个代理服务器,普通代理服务器也被设计为在Internet上搜寻多个不确定的服务器,而不是针对Internet上多个客户机的请求访问某一个固定的服务器,因此普通的Web代理服务器不支持外部对内部网络的访问请求。当一个代理服务器能够代理外部网络上的主机,访问内部网络时,这种代理服务的方式称为反向代理服务。此时代理服务器对外就表现为一个Web服务器,外部网络就可以简单把它当作一个标准的Web服务器而不需要特定的配置。不同之处在于,这个服务器没有保存任何网页的真实数据,所有的静态网页或者CGI程序,都保存在内部的Web服务器上。因此对反向代理服务器的攻击并不会使得网页信息遭到破坏,这样就增强了Web服务器的安全性。
反向代理方式和包过滤方式或普通代理方式并无冲突,因此可以在防火墙设备中同时使用这两种方式,其中反向代理用于外部网络访问内部网络时使用,正向代理或包过滤方式用于拒绝其他外部访问方式并提供内部网络对外部网络的访问能力。因此可以结合这些方式提供最佳的安全访问方式。
var xhr = new XMLHttpRequest();
- method:请求的类型(GET/POST)
- url:文件在服务器上的位置
- async:布尔值,true表示异步,false表示同步(可选,默认为true)
1 xhr.open("GET","demo.asp?t=" + Math.random(),true);2 xhr.send();
1 xhr.open("GET","demo.asp",true);2 xhr.setRequestHeader("If-Modified-Since","0"); //设置浏览器不使用缓存3 xhr.send();
1 xhr.open("POST","postdemo.asp",true);2 xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); //否则数据无法被正常接收3 xhr.send("name=amie"); //send里写要发送的数据
- readyState:存有XMLHttpRequest的状态。XHR对象会经历5种不同的状态
- 0:请求未初始化(new完后);
- 1:服务器连接已建立(对象已创建并初始化,尚未调用send方法);
- 2:请求已接收;
- 3:请求处理中;
- 4:请求已完成,响应就绪;
- status:(HTTP状态码很多,请自行了解,举例常见的)
- 200:请求成功
- 404:未找到页面
- onreadystatechange:存储函数(或函数名),每当readyState属性改变时,就会调用该函数。
1 xhr.onreadystatechange = function () {2 if (xhr.readyState == 4 && xhr.status == 200) {3 console.log(xhr.responseText);
评论