当前位置: 首页 > news >正文

中国b2b网站排名推广效果最好的平台

中国b2b网站排名,推广效果最好的平台,h5做招聘网站可以吗,京东商城网站的搜索引擎营销做的案例分析JSONP 跨域访问(1), 简介, 原理, 实验, 缺点 一, JSONP 简介 JSONP(JSON with Padding)是一种非官方跨域数据交互协议。它允许web页面从不同的域名下加载数据。 由于同源策略,web页面通过XMLHttpRequest调用通常只允许访问与其自身相同域名…

JSONP 跨域访问(1), 简介, 原理, 实验, 缺点

一, JSONP 简介

JSONP(JSON with Padding)是一种非官方跨域数据交互协议。它允许web页面从不同的域名下加载数据。
由于同源策略,web页面通过XMLHttpRequest调用通常只允许访问与其自身相同域名的资源。
JSONP是一种在早期浏览器中绕过这一限制的方法。

<script> 标签天生就拥有跨域请求的能力,这是由浏览器的同源策略所允许的。
这种特性被用于加载来自不同源(域名、协议或端口)的 JavaScript 文件,例如,从 CDN(内容分发网络)加载库或框架。

JSONP(JSON with Padding)正是基于这个能力来实现跨域请求的。通过动态创建一个

二, JSONP 工作原理

1. 客户端发起请求:

客户端通过<script>标签发起一个GET请求。请求的URL包含一个查询参数,通常是callback,它的值是一个将被服务器端调用的函数名。

2. 服务器端响应:

服务器端收到请求后,会将数据封装在一个函数调用中。这个函数就是请求URL中指定的callback参数的值。

3. 客户端处理:

响应返回给客户端后,由于是<script>标签的请求,所以返回的JavaScript代码会立即执行。
此时,客户端已经定义了一个与callback参数值相同名字的函数,因此,这个函数会被调用,并传入解析后的JSON数据作为参数。

4. 完成交互:

客户端的回调函数执行,处理传入的数据。

三, 代码实验

1. 环境准备

192.168.112.200 html页面
192.168.112.202 php脚本

2. 实验目的:

访问200上的html页面, 由html跨域访问202上的php脚本.

3. 实验过程:

(1)在200服务器上准备一个jsonp.html页面:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><script type="text/javascript">// 这里定义你的回调函数function jsonpCallback(data) {// 处理JSON数据的代码console.log(data);}</script>    <script type="text/javascript" src="http://192.168.112.202/security/jsonp.php?callback=jsonpCallback"></script>
</head><body></body></html>

这个页面定义了一个回调函数jsonpCallback(), 它用于处理响应的json.
然后通过一个<script>标签向202服务器发送GET请求, 通过callback参数传入函数名.

(2) 在202服务器上准备一个jsonp.php脚本.

<?php
$person = array("name" => "John Doe","age" => "30","occupation" => "Developer"
);
$jsonString = json_encode($person);
echo $_GET['callback'] . "(" . $jsonString . ")";
?>

服务器这段代码生成一个叫做jsonString的json字符串, 返回的数据通过拼接而成, 前面是GET传递过来的参数值$_GET['callback'], 后面是被括号括起来的json数据"(" . $jsonString . ")".

(3) 访问200服务器上的jsonp.html页面:

http://192.168.112.200/jsonp/jsonp.html

上面的url向200服务器发送GET请求访问页面, 传入参数callback=jsonpCallback.
接下来200服务器上的jsonp.php执行, 生成json字符串, $_GET['callback'] 的值由前端传过来是jsonpCallback, 那么最后拼接出来就是:

jsonpCallback({"name": "John Doe", "age": "30", "occupation": "Developer"});

可以看到服务器就是返回了一段js代码, 因为前端是使用<script>标签请求的js, 所以响应返回后, 前端会立刻执行返回的js代码, 而这段代码是调用前端定义的jsonpCallback()函数, 并传入服务器生成的json字符串做进一步处理.

四, JSONP的缺点

现在使用 JSONP 进行跨域请求的情况已经不太常见了。主要原因是它的安全问题和功能限制,尤其是以下几点:

1. 安全性:

JSONP 非常容易受到跨站脚本攻击(XSS)的影响。因为它通过 <script> 标签接收执行代码,如果攻击者可以控制 JSONP 响应,他们可以在用户的浏览器中执行恶意代码。

2. 受限的HTTP方法:

JSONP 只能进行 GET 请求,不能使用 POST、PUT、DELETE 等 HTTP 方法,这在现代应用程序中是一个严重的限制。

3. 缺乏错误处理:

在 JSONP 中,如果请求失败,很难准确地捕捉到错误并进行处理,因为 <script> 标签没有提供标准的错误监听机制。

4. 缺乏直接支持:

JSONP 需要服务器特别支持返回 JSONP 响应,这需要服务器端进行额外的编码工作。

相比之下,CORS(跨源资源共享)是一个 W3C 标准,现代浏览器都支持这个标准。
CORS 允许浏览器向另一个域名的服务器发送XMLHttpRequestFetch API 请求,只要服务器返回正确的 CORS 响应头,就能够实现安全的跨域请求。

因为 CORS 提供了更细粒度的控制,更好的安全性和更全面的HTTP方法支持,所以它已经成为了处理跨域请求的首选方式。

在新的Web应用中,建议使用 CORS 而不是 JSONP。

http://www.hengruixuexiao.com/news/12076.html

相关文章:

  • 东昌府聊城网站建设百度指数排行榜
  • 传统文化网站设计百度学术官网论文查重免费
  • 网站建设回龙观宁波seo搜索引擎优化
  • 个人网站建设实训目的潍坊网站建设公司
  • 南宁住房建设部网站百度指数搜索热度大学
  • wordpress 只显示摘要网络优化基础知识
  • 网站建设维护更新百度搜索趋势
  • 网站策划的基本过程东莞网络公司代理
  • 化妆品网站欣赏市场宣传推广方案
  • 新闻网站如何做推广百度客服24小时人工电话
  • 帝国cms手机网站制作百度广告投诉电话客服24小时
  • 地产网站建设案例seo的主要工作是什么
  • 青岛房地产团购网站建设整站优化排名
  • 可以制作视频的软件有哪些seoul是什么意思
  • 亳州网站建设公司怎么建立自己的网站平台
  • 平湖城乡规划建设局网站品牌线上推广方式
  • 手机怎么向wordpress传文件下载东营seo网站推广
  • 如何建个人摄影网站品牌营销
  • 做网站设计需要哪些知识张雪峰谈广告学专业
  • 淘宝网站怎么做适配大型网站制作
  • 做包装的网站有哪些搜一搜
  • 渭南网站建设服务百度怎样发布信息
  • 住房与城乡建设部网站注册中心网站优化排名的方法
  • 在百度上做个网站多少合适高端网站建设制作
  • 2002年做网站多少钱做个公司网站多少钱
  • 毕业设计指导网站建设一手渠道推广平台
  • 网站插件代码怎么用优化落实防控措施
  • 网站的关键词库怎么做的那么多网站查询ip地址查询
  • 别傻乎乎跑去银行卡销户了合肥网站优化seo
  • 凡客建站快车免费b站软件下载