首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

聊聊前后端分离接口规范

还有一个很大灰色地带 Controller,页面路由等功能本应该是前端最关注,但却是由后端来实现。...数据尽量简单轻量,避免多级JSON出现; 5.2 基本格式 5.2.1 请求基本格式 GET请求、POST请求==必须包含key为body入参,所有请求数据包装为JSON格式,并存放到入参body中...500: 请求处理失败 401: 请求认证,跳转登录页 406: 请求授权,跳转授权提示页 data.message: 请求处理消息 code=200 且 data.message="success...="success": 请求处理成功, 普通消息提示:message内容 code=500: 请求处理失败,警告消息提示:message内容 5.3 响应实体格式 { code: 200,...最后阶段就是==Node 带来全栈时代==,完全有前端来控制页面,URL,Controller,路由等,后端应用就逐步弱化为真正数据服务+业务服务,做且仅能做提供数据、处理业务逻辑,关注高可用

75820

前后端分离接口规范

还有一个很大灰色地带 Controller,页面路由等功能本应该是前端最关注,但却是由后端来实现 。...JSON数据尽量简单轻量,避免多级JSON出现; 5.2 基本格式 5.2.1 请求基本格式 GET请求、POST请求==必须包含key为body入参,所有请求数据包装为JSON格式,并存放到入参body...: 请求认证,跳转登录页 406: 请求授权,跳转授权提示页 data.message: 请求处理消息 code=200 且 data.message="success": 请求处理成功 code...="success": 请求处理成功, 普通消息提示:message内容 code=500: 请求处理失败,警告消息提示:message内容 5.3 响应实体格式 {   code: 200,   data...最后阶段就是==Node 带来全栈时代==,完全有前端来控制页面,URL,Controller,路由等,后端应用就逐步弱化为真正数据服务+业务服务,做且仅能做提供数据、处理业务逻辑,关注高可用

54030
您找到你想要的搜索结果了吗?
是的
没有找到

详解SpringMVC执行流程

(2)中央调度器直接将请求转给处理器映射器。 (3)处理器映射器会根据请求,找到处理该请求处理器,并将其封装为处理器执行链后返回给中央调度器。...(8)中央调度器调用视图解析器,将 ModelAndView 中视图名称封装为视图对象。 (9)视图解析器将封装了视图对象返回给中央调度器。...DispatcherServlet 中央调度器,也称为前端控制器,在 MVC 架构模式中充当控制器 C, DispatcherServlet 整个流程控制中心,由它调用诸如处理器映射器、处理器适配器...即用于完成将用户请求映射为要处理该请求处理器,并将处理器封装为处理器执行链传给中央调度器。 3....一般情况下需要通过页面标签或页面模版技术将模型数据通过页面展示给用户,需要由程序员根据业务需求开发具体页面

59430

浏览器原理

,我们直接来到收到服务器返回内容部分开始。 先上很多人都见过一幅图: 还有一幅图: 浏览器主要组成部分: 浏览器引擎:在用户界面和呈现引擎之间传送指令。 渲染引擎:负责显示请求内容。...如果请求内容 HTML,它就负责解析 HTML 和 CSS 内容,并将解析内容显示在屏幕上。 网络:用于网络调用,比如 HTTP 请求。其接口与平台无关,并为所有平台提供底层实现。...解析过程 获取请求文档内容后,呈现引擎将开始解析 HTML 文档,并将各标记逐个转化成“内容树”上 DOM 节点。 解析外部 CSS以及style元素中样式数据形成呈现树。...其实也是因为普通script标签解析完成就马上执行,我们在服务器那边大概这样子返回: res.end('callback('+data+')') 整个过程,就是:动态创建script标签,src为服务器一个...get请求接口,遇到src当然马上请求服务器,然后服务器返回处理datacallback函数这样子代码。

2K21

解析过程2. 渲染树2.1 CSS样式计算2.2 构建渲染树3. 布局(重要)4. 重绘与重排(重要)5. paint(绘制)6. composite(重要)7. 浏览器加载

,我们直接来到收到服务器返回内容部分开始。 先上很多人都见过一幅图: ? 还有一幅图: ? 浏览器主要组成部分: 浏览器引擎:在用户界面和呈现引擎之间传送指令。 渲染引擎:负责显示请求内容。...如果请求内容 HTML,它就负责解析 HTML 和 CSS 内容,并将解析内容显示在屏幕上。 网络:用于网络调用,比如 HTTP 请求。其接口与平台无关,并为所有平台提供底层实现。...解析过程 获取请求文档内容后,呈现引擎将开始解析 HTML 文档,并将各标记逐个转化成“内容树”上 DOM 节点。 解析外部 CSS以及style元素中样式数据形成呈现树。...其实也是因为普通script标签解析完成就马上执行,我们在服务器那边大概这样子返回: res.end('callback('+data+')') 整个过程,就是:动态创建script标签,src为服务器一个...get请求接口,遇到src当然马上请求服务器,然后服务器返回处理datacallback函数这样子代码。

5.1K41

SpringMVC入门终结篇

5.根据不同校验结果决定怎么做 6.将错误信息回显在页面上 普通表单将请求信息放在请求域中去页面获取 通过BindingResultres对象 getFieldErrors方法,可以获得当前属性值出现全部错误...,然后通过一个Model对象存储错误信息,放到隐含模型中 jsp页面通过${},从请求域中拿出之前存放错误信息,显示在页面上 自定义国际化错误消息显示,Hibernate Validator已经实现了默认国际化错误消息显示格式...json数据,返回给浏览器(高级用法) @RequestBody可以直接将得到json字符串直接封装为自定义类型对象,前提自定义对象属性名和请求参数名一一对应,并且有get和set方法,还有无参构造器...国际化实现完整流程,详细介绍 springmvc区域信息由区域信息解析器得到 通过MessageSource对象,来获取国际化资源文件中对应key对应值,也可以获取国际化资源文件中错误信息 自定义区域信息解析器...json字符串直接封装为自定义类型对象,前提自定义对象属性名和请求参数名一一对应,并且有get和set方法,还有无参构造器 @ResponseBody与@RequestBody注解用法 //获取一个请求请求

1.4K30

Python之JavaScript逆向系列——接口JSON信息获取与操作

整个内容中不会涉及到过为敏感内容。...在这个AI+云计算+大数据时代,我们眼睛所看到百分之九十数据都是通过页面呈现出现,不论PC端、网页端还是移动端,数据渲染还是基于HTML+JavaScript进行,而大多数数据都是通过request...,那么JS操作就是必须要掌握内容,很多数据都是通过json返回到主页进行动态加载。...json格式 JSON,全称JavaScript Object Notation,一种轻量级数据交换格式。它采用完全独立于语言文本格式,简洁、易读且便于机器解析和生成。...值得注意虽然JSON名字中包含"Object",但它并非一种编程语言,而是一种数据格式。JSON本身并没有提供任何处理逻辑或方法,而是提供了一种方式来描述数据结构。

27010

Ajax技术优缺点

用户需要点击”Submit”按钮来发送或者接受数据信息,然后等待服务器响应请求页面重新加载。 因为服务器每次都会返回一个新页面, 所以传统web应用有可能很慢而且用户交互不友好。...通过HTTP Request, 一个web页面可以发送一个请求到web服务器并且接受web服务器返回信息(不用重新加载页面),展示给用户还是同一个页面,用户感觉页面刷新,也看不到到Javascript...在 Ajax应用中信息如何在浏览器和服务器之间传递 通过XML数据或者字符串 ,8,在浏览器端如何得到服务器端响应XML数据 XMLHttpRequest对象responseXMl...虽然如此,在XML中对SAX应用丝毫不比DOM少,几乎所有的XML解析器都会支持它。 与 DOM(文档驱动)比较而言,SAX一种轻量型方法。...通过HTTP Request,一个web页面可以发送一个请求到web服务器并且接受web服务器返回信息(不用重新加载页面),展示给用户还是通一个页面,用户感觉页面刷新,也看不到到Javascript

2.3K30

web 应用常见安全漏洞一览

原因 当使用外部不可信任数据作为参数进行数据库增、删、、查时,如果对外部数据进行过滤,就会产生 SQL 注入漏洞。...这个就完全属于后端范畴了。 原因 攻击者不断地提出服务请求,让合法用户请求无法及时处理,这就是 DoS 攻击。 攻击者使用多台计算机或者计算机集群进行 DoS 攻击,就是 DDoS 攻击。...原因 一些 Web 应用会把一些敏感数据以 json 形式返回到前端,如果仅仅通过 Cookie 来判断请求是否合法,那么就可以利用类似 CSRF 手段,向目标服务器发送请求,以获得敏感数据。...当 Web 服务器启用 TRACE 时,提交请求头会在服务器响应内容(Body)中完整返回,其中 HTTP 头很可能包括 Session Token、Cookies 或其它认证信息。...命令执行漏洞 命令执行漏洞通过 URL 发起请求,在 Web 服务器端执行授权命令,获取系统信息、篡改系统配置、控制整个系统、使系统瘫痪等。 12.

68230

进阶 | 一份详细AJAX与跨域处理讲解

古代操作: 浏览器构造XMLHttpRequest实例化对象 用这个对象发起请求 服务器响应一个XML格式字符串字符串字符串字符串,也就是说响应第四部分字符串。...JS解析符合XML格式字符串,更新局部页面。 什么XML?可扩展标记语言。...发送请求. 如果该请求是异步模式(默认),该方法会立刻返回. 相反,如果请求是同步模式,则直到请求响应完全接受以后,该方法才会返回。 3.readyState属性。...这个值实际中用到。 只要不等于4,就表示请求还在进行中。 描述请求五个状态。 4.responseText属性此次响应文本内容。 5.onreadystatechange属性。...上述请求响应都没有问题 然而对于AJAX就不行 这是为什么呢,因为 因为 原页面用 form 提交到另一个域名之后,原页面的脚本无法获取新页面内容,所以浏览器认为这是安全

68710

Web前端学习笔记之JavaScript、jQuery、AJAX、JSON区别

然而在从前技术框架内只能刷新整个页面,带来后果:①需要重新传输整个页面,服务器端与客户端流量消耗都会比较大;②如果动态页,服务器端需要重新生成整个页面,即使那些客户原本不想要刷新区域,增大了服务器负担...ajax基本流程可以概括为:页面上js脚本实例化一个XMLHttpRequest对象,设置好服务器端url、必要查询参数、回调函数之后,向服务器发出请求,服务器在处理请求之后将处理结果返回页面,...这样,页面脚本如果想要改变一个区域内容,只需要通过ajax向服务器获取与该区域有关少量数据,在回调函数中将该区域内容替换掉即可,不需要刷新整个页面。...XMLHttpRequest在发送请求时候,有两种方式:同步与异步。同步方式请求发出后,一直到收到服务器返回数据为止,浏览器进程被阻塞,页面上什么事也做不了。...一开始只是通过 Ajax 异步发一个请求,数据就是一个简单用户名称,所以直接按照字符串发过去就好了。后来需要 Ajax 发送数据越来越多,比如一整张表单。

2.1K20

springboot原理详解_Spring Boot

我们得到返回一个字符串。...通常该字符串值表示我们要跳转页面,可能只包含页面名称(如”index”),这种方式一般配置了视图解析器前后缀,并且以转发形式进行跳转;除此以外,还可以重定向方式来跳转(如“redirect:/index.html...视图解析流程总结: (由于视图渲染设计方法逐级调用太多,所以流程逻辑间有些交错,使用多级列表显示) 方法返回值为字符串类型 通常该字符串值表示我们要跳转页面,可能包含forward:或redirect...等,配置默认情况下也都返回null 若返回mv为空则结束当前请求:当遍历所有处理器异常解析器调用解析方法后,依然返回mv均为空,则会直接结束当前请求 发起地址为“/error”请求转发:当前请求结束后底层会进行请求转发...(a)获取请求域中异常数据封装为Model:第一类方法处理时,首先会通过getErrorAttributes()方法获得存放在第一次请求请求域中异常数据,并将其封装为Model返回    (b)

2K30

关于虚拟DOM(面试必看)

XSS 不会直接攻击网页,而是通过嵌入 JavaScript 代码方式,将恶意攻击附加到用户请求中来攻击用户。它可以被用作窃取用户信息,或者恶意增删用户一些资料。...虽然现在看来并不完美,但在当年能够一统江湖,确实当之无愧 民智初启:早期模板引擎方案 jQuery 帮助我们能够以更舒服姿势操作 DOM,但它并不能从根本上解决 DOM 操作量过大情况下前端侧压力...这段字符串内容,其实就是一份标准、可用于渲染 HTML 代码,它将对应一个 DOM 元素。....将解析内容拼接成字符串,动态生成 JS 代码;3.运行动态生成 JS 代码,吐出“目标 HTML”;4.将“目标 HTML”赋值给 innerHTML,触发渲染流水线,完成真实 DOM 渲染。...差量更新 乍一看好像差量更新一定比全量更新高效,但你需要考虑这样一种情况:数据内容变化非常大(或者说整个发生了改变),促使差量更新计算出来结果和全量更新极为接近(或者说完全一样) 在这种情况下,DOM

12610

前端科普系列(1):前端简史

Protocol) 请求 HTTP 响应 HTML解析 & CSS渲染 JS 解析执行 为什么提这个呢,因为这是一整个web服务生命周期全过程,而在最早时候根本没有前端或者后端概念。...于是 Netscape 公司很快就发现一个问题,如果用户还没有输入内容,就点了“发送”摁钮,服务器发现后把整个页面重新返回给客户端,仅仅只是在页面中添加了一个错误提示。...如下图所示,用户第一次发起页面请求时,后端收到请求,然后取出数据库中数据,返回 CSS 和 JS文件。...整个切换页面的动作全部由前端来完成了。这就是单页应用,所有的资源只在第一次页面请求时被加载,后面都只会发起 Ajax 请求获取数据而已。...譬如 Rendora 就是解决这个问题,之前写好项目一句不用,只需新起 Rendora 服务,对于爬虫请求额外增加服务端渲染,返回生成好 html 就好了,对于非爬虫,之前该怎么玩儿就怎么玩儿

92020

前端系列第5集-Vue系列

在传统多页应用(MPA)中,每次用户请求一个新页面时都要重新加载整个页面并刷新所有的资源。...而在SPA中,只有在用户第一次访问应用程序时需要加载整个页面和资源,之后每次用户与应用程序交互时,只需要局部更新页面内容,从而提供更快速用户体验。...在这个过程中,Vue会将模板中指令、表达式等内容解析出来,并生成对应虚拟DOM(VNode)树。...Vue 中组件和插件两个不同概念,虽然它们都可以扩展 Vue 功能,但是它们有一些区别。...,使得请求到达该路由时可以渲染对应组件并返回HTML字符串; 在浏览器端获取到服务端返回HTML字符串,并将其直接进行展示。

16120

前端科普系列(1):前端简史

) 请求 HTTP 响应 HTML解析 & CSS渲染 JS 解析执行 为什么提这个呢,因为这是一整个web服务生命周期全过程,而在最早时候根本没有前端或者后端概念。...于是 Netscape 公司很快就发现一个问题,如果用户还没有输入内容,就点了“发送”摁钮,服务器发现后把整个页面重新返回给客户端,仅仅只是在页面中添加了一个错误提示。...当客户端发起页面请求后,后端收到请求,然后取出数据库中数据,组装好 HTML,然后返回 HTML 、 CSS 和 JS。有了 Ajax 后,我们在当前页面可以重新获取数据,并更新页面内容。...如下图所示,用户第一次发起页面请求时,后端收到请求,然后取出数据库中数据,返回 CSS 和 JS文件。...譬如 Rendora 就是解决这个问题,之前写好项目一句不用,只需新起 Rendora 服务,对于爬虫请求额外增加服务端渲染,返回生成好 html 就好了,对于非爬虫,之前该怎么玩儿就怎么玩儿

90810

前端网络安全 常见面试题速查

返回给浏览器 用户浏览器接收到响应后解析执行,混在其中恶意代码也被执行 恶意代码窃取用户数据并发送到攻击者网站,或者冒充用户行为,调用目标网站接口执行攻击者指定操作 常见于通过 URL 传递参数功能...其他 XSS 防范措施 虽然在渲染页面和执行 JavaScript 时,通过谨慎地转义可以防止 XSS 发生,但完全依靠开发谨慎仍然不够。...虽然无法完全防止 XSS 发生,但可以增加 XSS 攻击难度。...Ajax 和表单请求携带一个 Cookie 中值 流程: 在用户访问网站页面时,向请求域名下注入一个 Cookie,内容为随机字符串(如csrfcookie=v8g9e4ksfhw) 在前端向后端发起请求时...,使通讯两端认为他们在通过一个私密连接与对方直接对话,但事实上整个对话都被攻击者完全控制。

63832

SpringBoot2核心技术-web开发

format=xml 确定客户端接收什么样内容类型; 1、Parameter策略优先确定是要返回json数据(获取请求头中format值) 2、最终进行内容协商返回给客户端json即可。...**4、**processDispatchResult 处理派发结果(页面如何响应) 1、render(mv, request, response); 进行页面渲染逻辑 1、根据方法String...: 开始: new RedirectView() --》 render就是重定向 返回普通字符串: new ThymeleafView()---> 2、模板引擎-Thymeleaf 1、thymeleaf...、参数解析器来解析请求文件内容封装成MultipartFile **3、将request中文件信息封装为一个Map;**MultiValueMap FileCopyUtils...通过 ServletRegistrationBean 把 DispatcherServlet 配置进来。 默认映射 / 路径。

74030

Web性能优化_知识点精讲

❝一般来说,CSS被认为一种渲染阻断Render-Blocking资源。 ❞ 什么「渲染阻断」?渲染阻塞资源一个组件,它将「不允许浏览器渲染整个DOM树,直到给定资源被完全加载」。...每次加载「有限页面内容」,可以提高关键渲染路径。 不要在加载页面时加载这个整个页面的 CSS、JavaScript 和 HTML。...---- 页面解析和渲染阶段瓶颈点 所谓解析,就是 HTML 解析器把页面内容转换为 DOM 树和 CSSOM树过程 解析阶段 DOM树 DOM 树全称为 Document Object Model...callback=bar"> 第二步 服务器收到请求后,拼接一个字符串,将 JSON 数据放在函数名里面,作为字符串返回(bar({...}))...第三步 客户端会将服务器返回字符串,作为「代码解析」,因为浏览器认为,这是标签请求脚本内容

1.3K20

了解前端跨域知识

非同一域名、协议、端口请求不被浏览器允许(浏览器会将该请求返回响应内容拦截,并给出跨域警告)。 3. 只要非同源请求都会受限制么? 跨域限制行为仅存在于浏览器。...具体一点就是客户端 callback 传给服务端,普通响应返回都是 JSON 字符串,但如果 JSONP 的话,服务端返回响应时会返回一串可执行javascript 字符串。...正向代理 正向代理就是客户端通过访问一个与它同源服务器,而让这个服务器做代理,转发请求,拿到响应后返回给客户端。...其实就是字面意思,用来设置窗口名字,但它有一个特点就是当窗口内容变化了,window.name 还是会保持不变。...利用这一特性加上 iframe 可以嵌入跨域资源,我们可以如下实现跨域:在源A页面,手动创建一个 iframe 标签,并嵌入源B页面,这时我们虽然可以嵌入显示源B页面内容,但受同源策略限制,我们拿不到源

48320
领券