精华内容
下载资源
问答
  • 客户端、前端、后端、服务端的区别分别是什么客户端是指开发面向客户的程序,分很多平台,比如Windows 安卓 苹果,还有游戏客户端也算一类。 前端指的是通过浏览器用户交互的那部分。 后端是在服务器上跑的...

    客户端、前端、后端、服务端的区别分别是什么?

    客户端是指开发面向客户的程序,分很多平台,比如Windows 安卓 苹果,还有游戏客户端也算一类。

    前端指的是通过浏览器和用户交互的那部分。

    后端是在服务器上跑的,一般是管理数据,为前端、客户端提供数据传输的。

    服务器端就是后端。

    服务端各种安全机制,比如身份验证,这一条的情况在于,有的前端做身份验证就是调用一下接口,获取到类似token字段,自己也不知道是什么意思,就乱丢乱用等。

    本质上来说,前端是做不了什么安全措施的,但是,相应的拦截和安全还是要做,因为可以帮后端挡掉很多低质量攻击以及前端自身的用户体验。

    客户端是默认支持json的,后端是需要处理的。这点可以引申到,前后端各自传递的数据格式问题。有些前端 null undefined 空串分不清楚,到了后端就各种问题。

    展开全文
  • 那我本文章索性就分析一下前端和后端区别。给你一个大概的方向,可能不够专业,但一定的借鉴意义。对于互联网软件开发,或者说互联网行业的服务来讲,或者说我们平时听到的更多的前端一般指的就是客户端,或者说...

    本文就来讨论一下互联网行业里如何选择就业方向的问题。有些程序员总是在讨论我要参加工作了,我到底应该选择前端还是后端呢?还有一些学生小伙伴,在校期间总是拿不准方向,等等诸如此类问题。那我本文章索性就分析一下前端和后端区别。给你一个大概的方向,可能不够专业,但有一定的借鉴意义。

    f34146b3cdc1a40e3b11a1b7632c509f.png

    对于互联网软件开发,或者说互联网行业的服务来讲,或者说我们平时听到的更多的前端一般指的就是客户端,或者说用户的浏览器,或者说APP端,这就叫前端开发,而后端则指的服务器,或者说服务端的那一部分,这个叫后端。

    分析完前端、后端技术栈的特点和发展后,需要考虑一个问题就是,前端、后端到底哪个比较难呢?其实这个是需要结合前后端的特点来讲,前端主要是我觉得知识很多,很琐碎,很杂,然后前端门槛相对来说低一点,容易自学,因为是面对的单个客户端的事情,它并不像后端需要一个很复杂的编程环境,这个理解就是,你想做分布式和微服务,你需要提前安装各种各样的编程环境和软件,要装各种各样的组件,搭建各种各样的环境,但是前端不需要,然后前端就是出效果快一些,激励周期会短一些(成就感来得快),毕竟所见即所得。

    8c552a6013e9aa665269c577c26de271.png

    那后端和前端到底选哪个呢?这个问题必须要说一下,这个要从多方面实际角度考虑,第一个就是薪资待遇,根据招聘网前后端开发工程师,工资待遇差不多,岗位数量也差不多,需求量差不多。最后一个就是看你个人兴趣,兴趣第一,要看你内心的喜好,然后也要结合现状,你学的是什么,对哪个了解,学得透彻就走哪个。

    在这里呢,小编就给你们这些建议,主要还是要结合自身,本质上没多大的区别,需求量都很大,看自己去选择,最后祝大家选择一个好的工作,前程似锦。

    如果喜欢作者的给个关注支持一下呗,感谢各位支持!

    展开全文
  • 什么有后端渲染(服务器渲染SSR)与前端渲染(客户端渲染CSR) 首先理解服务器浏览器客户端之间传递的是什么: HTML、CSS、JavaScript的文件以及数据载体json(xml)等文件。 一开始,Web App 直接由若干 HTML、CSS...

    两种渲染方式

    为什么会有后端渲染(服务器渲染SSR)与前端渲染(客户端渲染CSR)

    首先理解服务器和浏览器客户端之间传递的是什么: HTML、CSS、JavaScript的文件以及数据载体json(xml)等文件。

    一开始,Web App 直接由若干 HTML、CSS、 JS 组成,每一个页面需要特殊的逻辑,因此随着App规模的扩大,后端网站目录下的代码文件就越来越多,而且,彼此之间是没有同步的。比如你改了站点的布局风格,那么你很可能需要改动成百上千的HTML文件,这劳动量太大了。既然如此多的HTML具有一定的逻辑联系,何不使用代码生成代码?于是后端模板语言诞生了,于是人们开始广泛使用模板语言代替手写HTML。

    目前接触到的模板语言有pug(jade)跟go template

    • pug模板示例如下:
      在这里插入图片描述
    • go template模板示例如下:
      在这里插入图片描述
      通过后端渲染HTML,前端不需要配置路由那些步骤,只需要在需要填充内容的地方占位即可。需要对字段比较熟悉,还需要前后端一起联调。

    后端渲染

    互联网早期,用户使用浏览器浏览的都是一些没有复杂逻辑的、简单的页面,服务器进程从数据库获取数据后,后端的程序在把HTML页面吐给前端之前,先把HTML页面上的特定区域、特定符号,先用数据填充,将数据加载进来生成HTML,然后通过网络传输到用户的浏览器中解析成可见的页面。

    所谓渲染,你可以理解一种修改,渲染这词最早来源于游戏领域,游戏领域又来源于现实画画,渲染嘛,拿着颜料往纸上涂便是。以前绝大部分服务器都是这个模式

    前端渲染

    随着前端页面的复杂性提高,前端就不仅仅是普通的页面展示了,而可能添加了更多功能性的组件,复杂性更大,另外,彼时ajax的兴起,使得业界就开始推崇前后端分离的开发模式,即后端不提供完整的HTML页面,而是提供一些API使得前端可以获取到JSON数据,然后前端拿到JSON数据之后再在前端进行HTML页面的拼接,然后展示在浏览器上,这就是所谓的前端渲染。

    这样前端就可以专注UI的开发,后端专注于逻辑的开发。代表是现在流行的SPA单页面应用,例如Vue、React框架,只需要后端给我们提供接口API,前端UI、交互等全在前端进行,前后端只需要约定接口。

    后端渲染和前端渲染最重要的区别在于数据填充上的区别,也就是究竟是谁来完成HTML文件的完整拼接,如果是在后端完成的,直接填充到HTML后传给前端,然后返回给客户端,就是后端渲染;而如果是前端做了更多的工作完成了HTML的拼接,通过ajax或者fetch从后台拿数据再自己填充或进行其他数据操作,则就是前端渲染

    前端渲染和后端渲染路线

    前端渲染路线

    1. 请求一个HTML
    2. 服务端返回一个HTML
    3. 浏览器下载html里面的JS/CSS文件 
    4. 等待JS文件下载完成 
    5. 等待JS加载并初始化完成 
    6. JS代码终于可以运行,由JS代码向后端请求数据(ajax/fetch) 
    7. 等待后端数据返回 
    8. 客户端从无到完整地,把数据渲染为响应页面
    

    后端渲染路线

    1. 请求一个HTML
    2. 服务端请求数据(内网请求快)
    3. 服务器初始渲染(服务端性能,较快)
    4. 服务端返回已经有正确内容的HTML
    5. 客户端请求JS/CSS文件
    6. 等待JS文件下载完成
    7. 等待JS加载并初始化完成
    8. 客户端把剩下一部分渲染完成(内容小,渲染快)
    

    从后端渲染到前端渲染的变化

    • 计算任务转移
      原本由服务器执行的渲染任务转移给了客户端,这在大量用户访问的时候大大减轻后端的压力。让后端专注做后端应该做的事情,性能将大大提高,因为服务器做的事情确实减小了,而现在随着客户端软硬件的发展,也能处理好大多数的渲染工作了。
    • 放弃前端权限
      将整个UI逻辑交给客户端以后,一些有经验有能力的用户可能会劫持UI,使得他们能够看到一些不该看到的界面。这似乎违反了安全的原则。但是“一切在前端谈安全都是耍流氓”,后端不能轻信一切从前端传来的数据,切记一定要做好过滤与验证。只要使用SSL、屏蔽XSS、后端不出漏洞,想伪造身份劫持App还是难以做到的。

    后端渲染与前端渲染的优缺点对比

    后端渲染优缺点

    • 优点:
    • 前端耗时少,因为后端拼接完了HTML,不需要先下载一堆JS和CSS 后才能看到页面,浏览器只需要直接渲染出来
    • 搜索引擎优化,因为在后端有完整的HTML页面,所以爬虫更容易爬取获得信息,更有利于SEO
    • 无需占用客户端资源。即解析模板的工作完全交由后端来做,客户端只要解析标准的HTML页面即可,这样对于客户端的资源占用更少,尤其是移动端,也可以更省电
    • 后端生成静态化文件。即生成缓存片段,这样就可以减少数据库查询浪费的时间了,且对于数据变化不大的页面非常高效
    • 缺点:
    • 不利于前后端分离,开发效率低。使用服务器端渲染,则无法进行分工合作,则对于前端复杂度高的项目,不利于项目高效开发
    • 服务器端渲染,则前端一般就是写一个静态HTML文件,然后后端再修改为模板,这样是非常低效的,并且还常常需要前后端共同完成修改的动作
    • 如果后端改了模板,前端还需要根据改动的模板再调节CSS,这样使得前后端联调的时间增加
    • 占用服务器端资源,即服务器端完成HTML模板的解析,如果请求较多,会对服务器造成一定的访问压力。而如果使用前端渲染,就是把这些解析的压力分摊了前端,而这里确实完全交给了一个服务器

    前端渲染优缺点

    • 优点:
    • 前后端分离,前端专注于前端UI,后端专注于API开发,且前端有更多的选择性,而不需要遵循后端特定的模板
    • 体验更好,比如,我们将网站做成单页Web应用(single page web application,SPA,是加载单个HTML 页面并在用户与应用程序交互时动态更新该页面的Web应用程序)或者部分内容做成SPA,这样,尤其是移动端,可以使体验更接近于原生APP
    • 局部刷新,无需每次都进行完整页面请求
    • 懒加载,如在页面初始时只加载可视区域内的数据,滚动后再加载其它数据,可以通过 react-lazyload 实现
    • 富交互,使用 JS 实现各种酷炫效果
    • 节约服务器成本,省电省钱,JS 支持 CDN 部署,且部署极其简单,只需要服务器支持静态文件即可
    • 缺点:
    • 前端响应较慢,如果是客户端渲染,前端还要进行拼接字符串的过程,需要耗费额外的时间,不如服务器端渲染速度快
    • 不利于SEO,目前比如百度、谷歌的爬虫对于SPA都是不认的,只是记录了一个页面,所以SEO很差

    使用场景

    不谈业务场景而盲目选择使用何种渲染方式都是耍流氓。比如企业级网站,主要功能是展示而没有复杂的交互,并且需要良好的SEO,则这时我们就需要使用后端渲染;而类似后台管理页面,交互性比较强,不需要SEO的考虑,那么就可以使用前端渲染。

    另外,具体使用何种渲染方法并不是绝对的,比如现在一些网站采用了首屏后端渲染,即对于用户最开始打开的那个页面采用的是后端渲染,这样就保证了渲染速度,而其他的页面采用前端渲染,这样就完成了前后端分离。

    • 后端渲染:相对模块化,非常适用于偏向展示性的页面,利于SEO。而且由于是在后端就已经渲染好,所以加载体验相对好,在网速差的时候表现明显。
    • 前端渲染:比较灵活,适用于dom操作比较频繁或者交互比较复杂的业务场景。可以很好地维护一份model,而不用反复请求。理论上更符合前后端分离。

    为什么前端渲染不利于SEO

    如果进行了前后端分离,那么前端就是通过JS来修改DOM使得HTML拼接完全,然后再显示,或者是使用SPA,这样,SEO几乎没有。那么这种情况下如何做SEO优化呢?

    SEO(Search Engine Optimization),中文一般译作:搜索引擎优化。SEO是一种通过了解搜索引擎的运作规则(如何抓取网站页面,如何索引以及如何根据特定的关键字展现搜索结果排序等)来调整网站,以提高该网站在搜索引擎中某些关键词的搜索结果排名

    前面我们谈到的SPA不利于SEO,因为就目前而言,部分搜索引擎如Google、bing等,它们的爬虫虽然已经支持执行JS甚至是通过AJAX获取数据了,但是对于异步数据的支持也还不足。
      
    因为单页面的情况下的页面中的很多内容都是根据匹配到的路由动态生成并展示出来的,而且很多页面内容是通过ajax异步获取的,网络抓取工具并不会等待异步请求完成后再行抓取页面内容,对于网络抓取工来说去准确模拟相关的行为获取复合数据是很困难的,它们更擅长对静态资源的抓取和分析。

    vue和react实现的路由不是新的页面,只是动态切换了页面内容,页面没有重载,也就没有网页爬虫爬去取数据的过程

    • 后端渲染爬虫看到的页面长这样:
      在这里插入图片描述

    可以看到是一个完整的HTML文件

    • 前端渲染爬虫看到的页面长这样:
      在这里插入图片描述

    可以看到除了title没有其他关键数据

    图片来源:http://www.coubai.com/ 网络游戏

    展开全文
  • 那么javaphp之间有什么区别?下面本篇文章就来带大家了解一下javaphp之间的区别,希望对大家有所帮助。 java的简单介绍Java是一种通用的面向对象编程语言,旨在生成可在任何地方使用相同代码的代码。这种编程...

    java与PHP都是编程语言,应用也十分广泛。那么java和php之间有什么区别?下面本篇文章就来带大家了解一下java和php之间的区别,希望对大家有所帮助。

    64018bd6395c57fc57721979ac01b726.png

    java的简单介绍

    Java是一种通用的面向对象编程语言,旨在生成可在任何地方使用相同代码的代码。这种编程语言是基于类的,面向对象的和人类可读的。它支持服务器端和客户端。

    Java既可以编译也可以解释。Java编译器将源代码转换为字节码,然后java解释器生成机器代码,该机器代码由运行java程序的机器直接执行。它可靠,分布式,便携。它可用于开发独立应用程序或基于Web的应用程序。

    PHP的简单介绍

    PHP被称为超文本预处理器,它是一种服务器端脚本语言。它是一种动态类型语言,不需要编译代码;它是为Web开发目的而开发和设计的。

    PHP受到了不同编程语言的影响,如Perl,C ++,C,Tcl和Java。它主要是使用C编程语言和C ++编程语言的一些特性开发和实现的。PHP支持不同的跨平台操作系统,如Windows和UNIX类系统。

    大多数流行的内容管理系统都使用PHP,它目前被认为是服务器上最根深蒂固的运行时环境;可以为托管服务提供商提供更好的搜索引擎评级和可访问性。

    Java与PHP之间的主要区别

    1、语言比较

    Java支持服务器端和客户端;它是强类型语言,任何java代码都需要在执行前正确编译。PHP仅支持服务器端;它是动态类型语言,不需要编译代码。

    2、语法上

    1)、注释

    java支持:双斜杠(//)、 /**/ ;PHP支持:双斜杠(//)、#符号、 /**/ 。

    2)、大小写敏感

    在java中,所有函数名,关键字,类,变量等都是大小写敏感的;在PHP中,变量是大小写敏感的,而用户自定义的函数、类和关键字对大小写不敏感。

    3、对象概念

    Java遵循面向对象的概念。所以整个架构总是定义得很好。

    PHP无法遵循对象的概念,它是一种简单的服务器端脚本语言,它没有任何绑定来遵循定义的体系结构。

    4、应用程序安全性处理

    应用程序安全性是任何Java应用程序的关键点之一;Servlet过滤器,URL编码,安全Web服务都是用于Java,以实现应用程序安全性。而PHP没有这种安全处理的概念。

    5、反射概念

    Java从第一天开始就在内部具有反射概念,如接口,重复类,抽象类或方法概念。

    PHP 5.0以前没有任何反射概念,从PHP 5.0开始,它引入了这个功能,但与Java相比并没有那么大的进步。

    6、页面加载速度

    PHP页面加载速度始终高于Java,因为PHP引擎不像JSP引擎那样占用大量负载。因此,复杂逻辑需要一些公共可视数据组织更喜欢使用PHP。

    7、应用范围

    Java适合于开发大型的应用系统,应用的前景比较广阔,系统易维护、可复用性较好。而,PHP适合于快速开发,中小型应用系统,开发成本低,能够对变动的需求作出快速的反应。

    8、数据库访问

    PHP对于不同的数据库采用不同的数据库访问接口;而Java通过JDBC来访问数据库,访问数据库的接口比较统一。

    以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注ki4网相关教程栏目!!!

    展开全文
  • JSP是在服务器计算机上运行的Java视图技术,它使您可以用客户端语言(例如HTML,...JSP还支持Expression Language,该语言可用于访问后端数据(通过页面,请求,会话应用程序范围中可用的属性),通常与taglib结合...
  • 通过nginx+tomcat的方式(也可以中间加一个nodejs)有效的进行解耦,并且前后端分离会为以后的大型分布式架构、弹性计算架构、微服务架构、多端化服务(多种客户端,例如:浏览器,车载终端,安卓,IOS等等)打下...
  • 什么是客户端负载我们在做服务...那么客户端负载均衡服务端负载均衡有什么区别呢?如果我们把上图架构改造成下图所示:我们在客户端后面加了一个服务器清单(里面维护着后端可以用的服务),客户端访问后端服务的时
  • 本次开源的是DOClever的内网版本,可以直接部署到内网中,线上版本在功能上是完全一样的,区别在于: 1.线上的系统用了前端和后端两套工程,并且用nginx做了负载均衡,redis做缓存,而内网版本合并为一个工程,...
  • 1、为什么服务器渲染与客户端渲染?  越来越复杂的 UI 意味着越来越重的渲染工作。目前通常两种选择:服务器渲染与客户端渲染。  以Jade,YAML为代表的模板渲染引擎一般作用于服务器作为后端的视图部分。 ...
  • 最近开发中遇到以下:需要客户端建立一个链接,然后服务器端持有这个链接,当时间变换(如任务的状态改变),需要后端将事件推送给任务对应的责任人。因为博主之前也研究过WebSocket,开发了个简单的聊天室,但是...
  • 不少来我们网站自学的小白童鞋还是有很多地方不明白,HTMLPHP有什么区别吗?为什么学习PHP要先掌握点HTML的基础知识呢?下面小编就告诉大家它们之间的关系,首先html/css/javascript 都是前端的,给浏览器执行、...
  • nginx配置常规操作

    2020-06-15 14:49:03
    提问:什么是反向代理其与正向代理有什么区别? 正向代理的概念: 正向代理是指客户端与目标服务器之间增加一个代理服务器,客户端直接访问代理服务器,在由代理服务器访问目标服务器并返回客户端并返回 。这个过程...
  • 那么问题来了,简单聊聊人们比较关注的关系和区别,刨根问底的请自行查阅相关资料 问:为什么websocket呢,而不用私有协议通信呢 简单答:浏览器是基于HTTP标准的客户端,基于浏览器的web页面自然无法也不能直接...
  • -多页面缺点:后端和移动客户端不能同时使用,前端和后端开发紧密结合。开发变得相当复杂。开发人员需要为客户端和服务器端使用框架。这导致应用程序开发时间更长。 # 区别: -组成:单页面由一个外壳页面和多个...
  • 2020新鲜Java,Android面经

    2020-05-14 20:30:22
    总结的2020年Java面试经验,含后端开发和客户端开发岗位。加粗部分为常问知识点。 面经总结Java部分基础集合多线程JVM计算机网络操作系统算法Android部分 Java部分 基础 Eques方法和==的区别 常见的设计模式 静态...
  • 一、什么是接口测试 前端(客户端):Android、ios、web 后端(服务端):java、js、css 接口测试即功能测试,接口是用来连接客户端和服务端的,一般接口返回的数据都是json格式 二、接口的组成 url 请求...
  • 如何优雅的使用Postman

    2020-12-11 09:06:58
    1、前备知识 1.1、什么是接口测试 前端(客户端):Android、ios、web ...②get请求参数长度限制,post请求没有(现在几乎没区别) ③get请求没有body,参数都是放在url里面的;post请求参数放在body里面 1.4、htt
  • js学习笔记 一、初识js 1. 什么是js? JavaScript是目前web开发中不可缺少的脚本...2. js与htmlcss有什么区别 相同:html,css,js代码都可以在浏览器中运行,html,css,js它们的运行环境是浏览器 不同点:html,cs
  • UDP协议

    2020-07-15 20:17:08
    TCP UDP 哪些区别? TCP是面向连接的,UDP是面向无连接的。 什么是面向连接? 在互通之前,面向连接的协议会先建立连接。所谓的建立连接,是为了在客户端和服务端维护连接,而建立一定的数据结构来维护双方...
  • squid代理服务问答

    2016-11-09 16:53:00
    1. 简述一下squid的用途?squid可以做代理缓存服务器,而做代理时,可以分为正向代理反向代理。...2. squid正向代理、反向代理有什么本质区别呢?正向代理代理的是客户端,代理后端是用户的个人电脑,反向...
  • CSS-HTML相关问题

    2020-10-29 18:50:54
    1.与后端数据交互的格式哪些,为什么大部分用json而不同xml? xml文件较大,内容结构复杂,传输占带宽大,服务器和客户端解析时要浪费大量时间。 json相较于xml更小,更快,更易解析,数据格式比较简单,易于读写...
  • 搞定 CompletableFuture,并发异步编程编写串行程序还有什么区别? ExecutorService VS CompletionService 分分钟搞定Java 并发队列 正在疯狂更新中...... 3⃣️面试常见 Java equals hashCode 面试...
  • 集合基本用法 - 集合列表的区别 / 创建集合 / 添加元素 / 删除元素 / 清空 集合常用操作 - 交集 / 并集 / 差集 / 对称差 / 子集 / 超集 字典的基本用法 - 字典的特点 / 创建字典 / 添加元素 / 删除元素 / 取值 / ...
  • 其实早已前端了颇深渊源,并且将掀起新的前端技术变革。本文主要就根据个人理解总结,从前端开发模式的演进、基于 Serverless 的前端开发案例以及 Serverless 开发最佳实践等方面,与大家...
  • 但是实施方案上面轻量重量解决方案的区别,类似当年EJBSpring之争。 基于ESB、SOAP、WSDL等重型解决方案,演化出来SOA。 利用Dubbo、zookeeper、http/rest、consul、Eureka这些框架的轻量解决...
  • 精通AngularJS part1

    2016-10-10 15:32:02
    理解指令控制器链接函数的区别258 注入依赖259 编译过程259 获取其他控制器260 获取嵌入函数261 创建一个手风琴指令套件261 在手风琴组件中使用指令控制器262 实现accordion指令263 实现accordion—group...
  • php-5.4.5-Win32-VC9-x86

    2012-07-28 05:09:25
    php区别其他像客户端java的地方是它的代码在服务器端执行.php能做什么? 最低水平,php可以做任何其他cgi程序所能做的事,例如收集表格数据,生成动态页面内容,或者收发cookies.可能最强大,最意义的特性是php支持大...
  • 历史上,公司尽力限制对系统的访问保护价值的信息。但现在公司认识到如果不能提供范围更广阔的系统信息的访问,将更加危险。 在Internet世界中,过去花费数年建设的基础设施现在必须一夜之间完成,对于那些...

空空如也

空空如也

1 2
收藏数 35
精华内容 14
关键字:

后端和客户端有什么区别