互联网常见的层次架构

来源:互联网 发布:数据归一化 代码 编辑:程序博客网 时间:2024/05/25 01:34

1.集中常见的前后端数据交互格式

json/xml/file/doc/text/excel/html

2.如何解决数据交互的跨域问题

相当于使用script请求了一个js文件过来,请求回来的数据只要符合js代码规范就可以比如:以下代码就相当于是引入一个js文件,调用了一个方法里边带着三个形参列表的参数
flightHandler({        "code": "CA1998",        "price": 1780,        "tickets": 5    });

jquery,getJson方式

<!DOCTYPE html><html><head>    <meta charset="utf-8">    <title>JSONP 实例</title>    <script src="http://cdn.static.runoob.com/libs/jquery/1.8.3/jquery.js"></script>    </head><body><div id="divCustomers"></div><script>//发送请求到一个地址get携带回掉函数的名称,返回之后去执行回掉函数,=?自动生成回掉函数$.getJSON("http://www.runoob.com/try/ajax/jsonp.php?jsoncallback=?", function(data) {    var html = '<ul>';    for(var i = 0; i < data.length; i++)    {        html += '<li>' + data[i] + '</li>';    }    html += '</ul>';    $('#divCustomers').html(html); });</script></body></html>

js原生写法

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>    <title></title>    <script type="text/javascript">    // 得到航班信息查询结果后的回调函数    var flightHandler = function(data){        alert('你查询的航班结果是:票价 ' + data.price + ' 元,' + '余票 ' + data.tickets + ' 张。');    };    // 提供jsonp服务的url地址(不管是什么类型的地址,最终生成的返回值都是一段javascript代码)    var url = "http://flightQuery.com/jsonp/flightResult.aspx?code=CA1998&callback=flightHandler";    // 创建script标签,设置其属性    var script = document.createElement('script');    script.setAttribute('src', url);    // 把script标签加入head,此时调用开始    document.getElementsByTagName('head')[0].appendChild(script);    </script></head><body></body></html>

jq,ajax写法

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head>     <title>Untitled Page</title>      <script type="text/javascript" src=jquery.min.js"></script>      <script type="text/javascript">     jQuery(document).ready(function(){        $.ajax({             type: "get",             async: false,             url: "http://flightQuery.com/jsonp/flightResult.aspx?code=CA1998",             dataType: "jsonp",             jsonp: "callback",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(一般默认为:callback)             jsonpCallback:"flightHandler",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名,也可以写"?",jQuery会自动为你处理数据             success: function(json){                 alert('您查询到航班信息:票价: ' + json.price + ' 元,余票: ' + json.tickets + ' 张。');             },             error: function(){                 alert('fail');             }         });     });     </script>     </head>  <body>  </body> </html>

3.负载均衡如何设定

nginx轻量级的代理服务框架开源免费,
可以把动静分离:

nginx静态资源文件—–负载均衡层——–广域网的负载均衡——img、css、js、html……..(小网站写在nginx中大网站或者电商网站是有单独的的图片服务器)
动态的文件——-web应用服务器层(web服务器)

这里写图片描述

这里写图片描述

这里写图片描述