前端后端不是什么规范的称呼,只是为了方便称呼取的绰号而已,也可以叫前台后台不是吗?
传统意义上的区分还是比较清晰的:简单来说就是B/S架构中的B,就是前端,也就是浏览器端。从岗位来看,开发浏览器内的网页的人可以叫前端(这是普遍用法)。
你更想知道技术上的区别的话,可以考虑这一点,代码是浏览器解释执行的就是前端HTML,js,css也就这仨,没有其他的。 不是在浏览器端执行的都是后端,jsp,php,servlet.....
但是, 随着技术不断丰富和发展,这些含义都发生了变化。
前端执行的环境变得复杂。 比如html5,可以运行在电脑,手机,浏览器中。并不单单在浏览器中。
前后端通信的协议不单单有http,还出现了websocket,sse等等。
还有些语言通吃了各个端,比如js在传统应用中是前端无疑,但是现在很难说js不能做后端。
也就是,现在的前端已经不局限于浏览器了,变得越来越像C/S架构的C了。
所以现在的前后端用客户端和服务器端理解更加合适一点了。
同样,确定一个技术是属于哪的,就看他的代码是执行在客户端还是服务器端好了。
另外,后端的概念也变得模糊了,因为由于技术发展服务端渐渐脱离传统单一架构,比如微服务。
所以我觉得这个概念当个笑话听听就算了。没必要纠结。