node.js基础03

本文介绍了Node.js中的跨域问题及其解决方案,包括CORS(Cross-Origin Resource Sharing)和JSONP的工作原理及实现。同时,讲解了HTTP协议的基本概念,如协议、端口、Content-Type和状态码,以及RESTful接口的简介。此外,还提到了Node.js实现服务端重定向和前端验证码刷新的案例。
摘要由CSDN通过智能技术生成

1.1-跨域介绍

  • 1.跨域固定报错格式

    • 只要是出现跨域问题,浏览器就会出现一个固定格式(没有之一)的报错信息

      • Access to XMLHttpRequest at '服务器url地址' from origin 'null' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

uploading.4e448015.gif正在上传…重新上传取消正在上传…重新上传取消

  • 2.什么是跨域?

    • 浏览器使用 ajax,如果请求了的接口地址 和 当前打开的页面 地址 不同源 称之为跨域

      • (1)ajax : 浏览器只有使用ajax发送请求才会出现跨域。 href属性与src属性不会出现跨域

      • (2) 接口地址 : ajax请求的url

      • (3)打开的页面:当前页面的window.location.href

      • (4)不同源 : 浏览器使用ajax,向不同源的接口发送请求,称之为 跨域访问

  • 3.什么是同源?

    • MDN官方文档传送门:浏览器的同源策略 - Web 安全 | MDN

    • 同源定义 : 两个url地址的 协议主机端口 均一致 (&&)

      • 协议:http , https , file

      • 主机 : 域名或者ip地址 (127.0.0.1)

      • 端口 :3000, 4399

    • 不同源定义: 两个url地址,协议 主机 端口任何一个不一致 (||)

      • http:127.0.0.1:3000/abc

      • http:127.0.0.1:3000/efg

      • https:127.0.0.1:3000/efg

      • http:127.0.0.1:3000/hero/add

      • http:127.0.0.1:4399/hero/add

      • http:127.0.0.1:4399/hero/all

uploading.4e448015.gif正在上传…重新上传取消正在上传…重新上传取消

 

  • 4.为什么要有同源与不同源?

    • 出于安全考虑,浏览器不允许,页面向不同源的接口请求数据,因为如果 接口 和 网页不同源,浏览器认为是2个不同的 服务器,

    • 不同的服务器中内容是不可控的,不允许访问了

    • 总结说人话: 浏览器为了保护你的电脑安全

      • 举个栗子: 你去肯德基店里点餐,店员只允许你点肯德基的产品(炸鸡,可乐,上校鸡块),如果此时你在肯德基店里面点麦当劳的产品,浏览器会认为你是坏人,就会让保安把你赶出去

  • 5.跨域解决方案介绍

    • 跨域是前端工作中不可避免的问题:我们经常会出现请求不同源接口的情况,为了能够获取数据,解决跨域的问题方案也有很多,但是常用的就两种

    • 第一种 : CORS

      • 目前的主流方案,也是最简单的方案

    • 第二种:JSONP

      • 曾经的跨域杀手,专治各种跨域问题。现在慢慢的淡出历史舞台

      • PS:面试官特别喜欢问这个,因为这个有一定的技术难度,也能体现一个人的实际开发经验

 

<!-- 
​
1.跨域固定报错格式
    * 只要是出现跨域问题,浏览器就会出现一个固定格式(没有之一)的报错信息
    * Access to XMLHttpRequest at '服务器url地址' from origin 'null' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
​
2.什么是跨域
    * 浏览器使用 ajax时,如果请求了的接口地址 和  当前打开的页面 地址  不同源 称之为跨域
        * ajax : 浏览器只有使用ajax发送请求才会出现跨域。href属性与src属性不会出现跨域
    * 接口地址 : ajax请求的url
    * 打开的页面:当前页面的window.location.href
    * 不同源  : 浏览器使用ajax,向不同源的接口发送请求,称之为 跨域访问 
​
3.什么是同源?
    * 同源定义 : 两个url地址的 协议 与 主机 与 端口 均一致 (&&)
        * 协议:http , https , file
        * 主机 : 域名或者ip地址 (127.0.0.1)
        * 端口 :3000, 4399
    * 不同源定义: 两个url地址,协议 主机 端口任何一个不一致 (||)
        * 当前页面:http:127.0.0.1:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值