接广告的网站怎么做,建设网站空间选择,建设销售网站的好处,宣城高端网站建设在计算机网络中#xff0c;代理是一种中间服务#xff0c;能够代理用户与网络资源之间的通信。代理服务器可以缓存网页内容、过滤网络流量或隐藏用户的真实IP地址等功能。
在日常开发中#xff0c;我们接触最多的是客户端发送ajax到服务端。但是服务端并不是 node #xf…在计算机网络中代理是一种中间服务能够代理用户与网络资源之间的通信。代理服务器可以缓存网页内容、过滤网络流量或隐藏用户的真实IP地址等功能。
在日常开发中我们接触最多的是客户端发送ajax到服务端。但是服务端并不是 node 而是java或者go。 例如我们用 vue 开发应用。我们的感知是从客户端直接发送 ajax 到服务端。但是在浏览器发送ajax 到服务端服务端响应到浏览器会出现跨域。这个时候就需要配置代理node 此时就可以充当这个角色。 实际在开发环境 vue 就是利用 express 创建了一个开发服务充当代理角色。这个代理服务主要是利用 http-proxy-middleware 中间件实现代理服务器。 node 实现代理服务器原理
浏览器发送 ajax 请求到 node 服务node 服务将和 java 或者 go 服务约定好的 api转发给java 或者 go服务端java 服务或者 node 服务响应个 node 代理服务node 服务在响应给浏览器
简单示例
const http require(http);const proxyServer http.createServer((request, response) {// 创建代理请求的选项const options {hostname: 目标服务器的主机名,port: 80, // 目标服务器的端口号path: request.url,method: request.method,headers: request.headers};// 发起代理请求const proxyRequest http.request(options, (proxyResponse) {// 将代理服务器收到的响应转发给客户端response.writeHead(proxyResponse.statusCode, proxyResponse.headers);// 将代理服务器的响应通过管道传输给客户端实现响应的转发。proxyResponse.pipe(response);});// 将客户端发来的请求体转发给目标服务器request.pipe(proxyRequest);// 处理代理请求错误proxyRequest.on(error, (error) {console.error(代理请求错误:, error);response.statusCode 500;response.end();});
});// 启动代理服务器
const PORT 3000;
proxyServer.listen(PORT, () {console.log(代理服务器已启动监听端口, PORT);
});