只是你以为你看到的是源代码而已。
这一句话已经答完了其实。
你现在从钱包里掏出一张人民币,现在这张人民币的各种信息你都可以想办法检查出来。但是,你能造得出一张人民币么?你不能。
除非你有专门的机器,专门的纸张油墨,专门的技术流程。这些才是源代码,那一张人民币本身并不是。
查看源代码并不意味着开源。
所谓的查看源代码是浏览器里的查看页面源代码的效果。这些代码很多情况下都是被编译后的代码,并非原始代码。并且还是前端页面用到的代码。而一个网站的工作前端展示和交互操作只是很小一部分。你的一个点击,可能触发的是按钮按下后页面向服务器发送了一个包含请求的url,然后服务器就开始工作,找到信息返回给页面。而具体服务器端怎么做,你是看不到代码的。
1、http是超文本传输协议,它最早的设计就是我放个文件在服务器上大家自己看就好了,没后端这一说法的,所以html一直都是文本文件。
2、前端上的那些技术其实出现过很多二进制的,从java applet到activex再到flash,其实html+js+css成为主流并没有很长历史。js一开始是做些简单的dom操作的,比如做个文字变色之类的简单的东西,不复杂所以也就是文本文件了。
3、所有二进制的方案基本都有安全性问题,后来也渐渐不用了。脚本文件曾经还有过vbs,不过这东西也已经emmmm
4、大概google还是谁(肯定不是ms)带头用js+css做web应用,大家才发现前端还能这样啊,就开始了。
首先你看到的不是源代码,只是一种标记语言。
HTML称为超文本标记语言,是一种标识性的语言。它包括一系列标签.通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字,图形、动画、声音、表格、链接等。
简单的是,就是把文字标记都好看一点,把图片和文字整合在一起,就是排版。
然后加入了一些动态元素,比如git动画,视频,音频flash动画等。
css是做美化的,js是一种脚本语言。
就好比,你用记事本打开一个txt文件,就可以看到一大堆文字,这个有什么源码不源码的?
用浏览器打开html文件,本质和记事本打开txt是一样的,只是浏览器可以根据标记(标签,css)渲染的好看一些。
我想题主可能把网页的源代码跟服务器端的代码混为一谈了,其实这两中代码是不一样的。
网页看到的源代码是服务器代码经过渲染后生成的静态代码,如HTML、Javascript、CSS等,这些代码是完全对外公开的,而且每个用户看到的内容基本一样,这些代码被浏览器解析后呈现最终的效果给用户。
而服务器端的代码一般指使用ASPX、PHP、JSP等动态语言编写的代码,这些代码负责处理逻辑、读写数据库,以及生成浏览器能解析的HTML等静态代码。服务器代码是高价值资产,一旦泄漏将严重损害开发者的利益,甚至有可能给网站带来严重的安全隐患。
你看到的只是页面代码而已,数据交互的功能代码你是看不到的,打个比方,比如你看到一辆车,只能看到车的外观,颜色,形状,却看不到车的内部有什么部件,如何控制的,如何运行的
你用浏览器查看的源代码并不是真正的源代码,而是服务端编译后生成的前端HTML文本文档。