Web是什么?Web是World Wide Web(万维网,缩写WWW)的简称。
Web是互联网提供的一项服务,起初(1989年)是通过互联网用于共享科学文献和科研成果,本质上是由超文本 (HyperText) 构成的网络,用户可以通过浏览器访问这些文档。但Web上的资源不限于此,还包括图像、音频、视频等。
互联网是什么?互联网是互相连接的计算机网络,其中,因特网(Internet)是最大的互联网。而计算机网络是计算机互连构成的通信网,目的在于信息传递。除了计算机网络,人类还有电话、电报等用于通信。简而言之,互联网是人类在寻找传递信息的最佳途径中创造的一种通信载体。
互联网除了提供Web服务,即用户通过浏览器访问共享的文档,还提供FTP(File Transfer Protocol,文件传输协议,1971年)在计算机之间上传和下载文件,提供邮件服务(Email,1971年)用于用户之间的信息交换……Web像邮件一样,自诞生后很快成为风靡全球的服务。
Web的传播和流行,在于普通用户也能很容易使用,并轻松访问互联网上的资源。这些资源在Web上通过超链接实现了相互连接。
以百度百科上的“web”词条为例,蓝色高亮的词语分别对应着一条超链接,点击后跳转到另一个页面。“web”词条网页本质为超文本,即包含了超链接的文档,更常被称作“网页”、“页面”。是这些超链接,形成了信息的互通互达。
关于Web,有五件事不可或缺,分别为:URL、HTTP、HTML、浏览器和服务器。
URL (Uniform Resource Locator,统一资源定位符),用于标识Web中的信息资源:网页、图片、视频、样式表、脚本等,比如 https://www.example.com/ 为网页资源。
HTTP (HyperText Transfer Protocol,超文本传输协议),用于规定信息资源如何在互联网上交换和传输,是Web数据通信的基础。
HTML (HyperText Markup Language,超文本标记语言),是用于创建网页的标准标记语言。
浏览器,用于检索和显示Web中信息资源的程序,如Chrome、Firefox、Safari或者Edge等。
服务器,用于处理浏览器的请求并返回相应的响应,或者存储文件供访问和下载。
从用户使用Web的角度来看,首先是利用搜索引擎输入关键词查找相关网页,然后点击链接进行访问,浏览器会在当前网页或新打开的标签页中显示网页内容。
每一个网页都有一个URL,浏览器拿到URL后,会解析出此网页所在的服务器地址,然后同服务器建立连接,再建立安全通道,随后在HTTP协议下请求和获取HTML文档等资源。最后,利用渲染引擎绘制出网页内容。
在Web上下文中,前端是指浏览器中与用户交互的部分,主要集中在网页上。Web前端开发则是编写网页。
假设需要开发一个显示名言美句、允许用户增删改句子的网站,先由产品设计师确定原型,再由UI设计师设计网站的视觉稿。UI定稿后,由Web前端开发者和Web后端开发者编写程序。
前端编写网站的全部页面:首页、登陆页、注册页、搜索页、新增页、编辑页……,并处理页面交互:按钮被点击时调用什么代码、用户输入的有效性校验等。后端处理数据的增删改查、数据缓存、权限管理、请求限制等。前后端之间的数据传输通常通过API实现。
开发完成后进入测试,测试完毕,交付产品。在整个流程中,前端需要同时和产品、UI、后端、测试等人员协作,确保网页的视觉呈现与设计稿一致,数据正常显示,用户填写的内容正确到达后端等。
Web前端开发还需考虑如何提高用户体验。比如,网页在移动端显示效果差怎么办?用户访问页面时,页面加载太慢出现白屏怎么办?浏览网页时,页面总是一卡一卡的怎么办?视障用户访问网页,读取不到有效信息怎么办……这些问题的解决涉及到响应式设计、移动优先设计、网页性能优化、无障碍性等方面的实践。
Web前端开发是构建用户界面的艺术,也是连接用户和信息的关键。理解Web基础,了解工作流程,有助于全面认知Web前端开发,为顺利深入前端编程铺平道路。