一、WEB技术介绍
1.1 Http和B/S结构
操作系统一般都有子进程系统,使用多进程就可以充分利用硬件资源,提高效率。在前面的学习中我们了解到进程中可以有多个线程,且每一个线程都可以被CPU调度执行,这样就可以让程序并行执行。一台主机就可以作为一个服务器为多个客户端提供服务。
客户端和服务端往往处在不同的物理主机上,它们分属不同的进程,这些进程间需要通信。跨主机的进程间通信需要使用网络编程。最常见的网络编程接口是Socket 。
Socket 称为套接字,本意是插座。也就是说网络通讯需要两端,如果一端被动的接收另一端请求并提供计算和数据的称为服务器端,另一端往往只是发起计算或数据请求,称为客户端。
这种编程模式称为 Client/Server 编程模式,简称 C/S 编程。开发的程序也称为 C/S 程序。 C/S 编程往往使用传输层协(TCP/UDP )。
网页是存储在 WEB 服务器端的文本文件,浏览器发起 HTTP 请求后,到达 WEB 服务程序后,服务程序根据URL读取对应的 HTML 文件,并封装成 HTTP 响应报文返回给浏览器端。
工作示意图:
1.2 前端三大核心技术介绍
1.2.1 HTML
- HTML,全称超文本标记语言(Hyper Text Mark-up Language),是用于创建网页的标准标记语言。它不是一种编程语言,而是一种标记语言,通过标记来描述网页中的文本、图片、声音等内容。HTML文本是由HTML命令组成的描述性文本,可以说明文字、图形、动画、声音、表格、链接等。
- HTML允许嵌入图像与对象,并且可以用于创建交互式表单,用于结构化信息,例如标题、段落和列表等等,也可在一定程度上描述文档的外观和语义。此外,HTML可以嵌入如JavaScript的脚本语言,影响HTML网页的行为。
- HTML是WWW的描述语言,由Tim Berners-Lee提出,设计HTML语言的目的是为了能把存放在一台电脑中的文本或图形与另一台电脑中的文本或图形方便地联系在一起,形成有机的整体。HTML是构成网络上所有网站和应用的基本组件,是Web开发的基础语言之一,几乎所有的网站都离不开HTML的支持。
1.2.2 CSS
CSS是Cascading Style Sheets的简称,中文翻译为"层叠样式表",是一种用于描述网页表现形式的语言,包括网页的位置、颜色、大小等样式定义。 CSS的主要特点和功能包括:
- 丰富的样式定义:CSS提供了丰富的文档样式外观,允许设置文本和背景属性,创建边框,以及调整文本大小写和修饰方式。
- 易于使用和修改:CSS可以将样式定义在HTML元素的style属性中,或在HTML文档的header部分,或存放在专门的CSS文件中供HTML页面引用。这使得样式声明可以统一管理,便于修改。
- 多页面应用:CSS样式表可以存放在一个文件中,并在多个页面中使用,实现页面风格的统一。
- 层叠特性:允许对一个元素多次设置样式,最后设置的属性值会被采用,实现样式的层叠效果。
- 页面压缩:通过将样式声明放在CSS文件中,可以减小页面体积,减少加载时间。
- CSS的引入使得网页设计更加灵活和美观,实现了网页样式与结构的分离,是现代网页设计中不可或缺的一部分
1.2.3 JavaScript
JavaScript是一种动态的弱类型脚本解释性语言,与HTML、CSS并称三大核心WEB技术,得到了几乎主流浏览器的支持。
随着 chrome 浏览器的 V8 引擎发布,JS开始向本地编译转变,经过后续一系列的升级和更新,JS也就成为正真的服务器端编程语言了,成为目前唯一的前、后端通用的语言。
1.2.3.1 同步
交互式网页,用户提交了请求,就是想看到查询的结果。服务器响应到来后是一个全新的页面内容,哪怕URL 不变,整个网页都需要重新渲染。例如,用户填写注册信息,只是 2 次密码不一致,提交后,整个注册页面重新刷新,所有填写项目重新填写( 当然有办法让用户减少重填 ) 。这种交互非常不友好。从代价的角度看,就是为了注册的一点点信息,结果返回了整个网页内容,不但浪费了网络带宽,还需要浏览器重新渲染网页,太浪费资源了,影响了用户体验和感受。上面这些请求的过程,就是同步过程,用户发起请求,页面整个刷新,直到服务器端响应的数据到来并重新渲染。
1.2.3.2 异步
1996 年微软实现了 iframe 标签,可以在一个网页使用 iframe 标签局部异步加载内容。
1999 年微软推出异步数据传输的 ActiveX 插件技术,太笨重了,但是也火了很多年。有一个组件
XMLHttpRequest 被大多数浏览器支持。
传统的网页如果需要更新内容,必需重载整个网页面。 Ajax 的出现,改变这一切,同时极大的促进了Javascript的发展。 Ajax 即 "Asynchronous Javascript And XML" (异步 JavaScript 和 XML ),是指一种创建交互式、快速动态网页应用的网页开发技术,最早起源于1998 年微软的 Outlook Web Access 开发团队。Ajax 通过在后台与服务器进行少量数据交换, 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。Javascript 通过调用浏览器内置的 WEB API 中的XMLHttpRequest 对象实现 Ajax 技术。早期 Ajax 结合数据格式 XML ,目前更多的使用 JSON 。利用 AJAX 可实现前后端开发的彻底分离,改变了传统的开发模式。
AJAX 是一种技术的组合,技术的重新发现,而不是发明,但是它深远的影响了整个 WEB 开发。