Web程序设计学习笔记<一>

开始前说的话

  因为喜欢追剧,就想着制作一些自己喜欢的cp快剪,之前通过寻找各种方式去除🥝、腾讯和优酷的水印,当时在B站上找到了一种方法,大概过程就是先在网页上播放自己想要剪辑的电视剧,然后按F12,查找插入logo的url并删去,再在下方粘贴某up给的一段JavaScript代码,自动下载得到一个m3u8文件,最后使用一个文件类型转换器便可以得到mp4文件。我操作了几次,觉得这种方法很好用,但是目前只得到了🥝下载m3u8文件的代码,便一直想着抽空自学一下JavaScript,正巧这学期我选修了《Web程序设计》这门课程,希望自己能够学以致用!
  所用教材《ASP.NET Web应用开发技术》(第二版)喻钧主编 清华大学出版社 课程:《Web程序设计》 开发软件:Visual Studio 2022

第1章 Web程序设计基础

1.1 Web的工作原理

  当用户访问Web站点时,数据是遵从HTTP(HyperText Transfer Protocol)协议进行传输的。HTTP即超文本传输协议,是基于Browser/Server(浏览器/服务器,B/S)模式使用TCP连接在应用层进行可靠的数据传输。

1.2 Web程序设计技术

  在Web程序设计的过程中,主要用到客户端技术和服务器技术。客户端技术也叫Web前端技术,主要包括HTML、CSS、JavaScript等。服务器端技术也叫Web后端技术,主要包括ASP.NET、PHP、JSP、Python等。
  无论Web前端还是后端,都要用到脚本编程语言。脚本(Scripts)是指嵌入到Web页中的程序代码,所使用的编程语言称为脚本语言。按照执行方式和位置的不同,脚本分为客户端脚本(Client-side Scripts)和服务器端脚本(Sever-side Scripts)。脚本编程的基本特点是:由HTML构造页面模板,由语言解释引擎解释并运行脚本,运行后产生的页面内容插入到页面模板中。
  客户端脚本的解释器位于Web浏览器中,在客户机上被Web浏览器执行。服务器端脚本的解释器则位于Web服务器中,在服务器上被Web应用服务器执行。

1.2.1 客户端技术(Web前端技术)
1.HTML超文本标记语言

  HTML(HyperText Marked Language,超文本标记语言)是Web页的标记性语言。“超文本”就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。HTML文件本身就是一种文本文件,通过在文本文件中添加标记符可以告诉浏览器如何显示HTML文件中的内容(如文字如何处理、画面如何安排、图片如何显示等)。
  浏览器按顺序解释执行HTML文件,对于书写出错的标记既不报错,也不停止执行。需要注意的是,不同的浏览器对于同一标记可能有不同的解释,也就可能有不同的显示效果。

2.CSS样式表

  CSS(Cascading Style Sheets,层叠样式表)是一种用来表现HTML或XML等文件样式的计算机语言。CSS实现了页面形式和内容的分离,不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页中的各种元素进行格式化。
  通常,应用样式表的网站的用户体验会更快。如果将所有样式保存在一个文件中,可以减少维护的时间、减少错误的机会,从而提高表达的一致性。使用CSS的HTML或XHTML网站更容易调整,以适应不同的浏览器。

3.JavaScript脚本语言

  JavaScript是一种解释性的、基于对象的、采用事件驱动的脚本语言。它由Netscape公司开发。其主要工作机制是将JavaScript脚本嵌入到Web页面中,并随着HTML文件一起传送到客户端,由浏览器解释执行。在脚本执行期间无须与服务器交互,可以对用户的操作直接做出响应。
  在使用JavaScript时,通常用标记语言< script >和< /script >界定,将JavaScript代码放到HTML的< head >或< body >部分。
  · JavaScript不需要Java编译器,由浏览器逐行地解释执行;
  · JavaScript具有跨平台性,它依赖于浏览器本身,与操作环境无关,只要是能支持JavaScript的浏览器就可以正确执行;
  · JavaScript使页面变得生动;
  · JavaScript可以使有规律、重复的HTML文段简化,减少下载时间;
  · JavaScript能及时响应用户的操作,对提交表单做即时检查,大大减少了服务器的开销;

1.2.2 服务器端技术(Web后端技术)

  服务器端技术主要是指服务器端的脚本编程技术,常用的服务器端脚本语言有ASP.NET、PHP、JAP和Python等。它们的共同特点是:脚本都运行于服务器端,能够动态地生成网页;脚本运行不受浏览器限制;脚本程序都是将脚本语言嵌入到HTML文档中,执行后返回给客户端的是HTML代码。

1. ASP.NET

  ASP.NET是Microsoft公司在ASP(Active Server Pages)基础上推出的新一代脚本语言。ASP.NET是基于Microsoft.NET框架的,它建立在公共语言运行库上,可用于在服务器上生成功能强大的Web应用程序,为Web站点创建动态的、交互的HTML页面。
ASP.NET的主要特点如下:
  · ASP.NET采用基于组件的、面向对象的模块化开发模式。
  · 更加广泛的底层支持,可以使用C#、VB等编程语言作为宿主开发。
  · ASP.NET采用编译后运行的方式,执行效率大幅提高。它将程序第一次运行时编译成DLL文件,以后直接执行DLL文件,这样执行速度就变得非常快。
  · 支持WYSIWYG(所见即所得)、拖放控件和自动部署等功能。
  · 程序结构清晰:将程序代码和HTML标记分开,使程序设计简化,结构更清晰。
  · 移植方便:ASP.NET可以向目标服务器直接复制组件,当需要更新时重新复制一个即可。

2. PHP(Hyper Text Preprocessor)

  PHP是一种嵌入HTML页面中的脚本语言,类似于C、Java和Perl,语法简单,是一种解释型语言。它可以跨UNIX、Linux、Windows平台使用,具有平台无关性。PHP非常利于快速开发各种功能不同的定制网站,运行成本低。其不足之处时运行环境的安装、配置比较复杂,同时,由于PHP内部结构上的缺陷,使得PHP在复杂的大型项目上的开发和维护都比较困难。
编译型语言和解释型语言对比
一、编译型

  编译型语言:编译型语言在执行之前要先经过编译过程,编译成为一个可执行的机器语言的文件,比如exe。因为翻译只做一遍,以后都不需要翻译,所以执行效率高。

编译型语言的典型代表:C语言,C++。

编译型语言的优缺点:执行效率高,缺点是跨平台能力弱,不便调试。

二、解释型

  解释型语言:解释性语言编写的程序不进行预先编译,以文本方式存储程序代码。执行时才翻译执行。程序每执行一次就要翻译一遍。

代表语言:python,JavaScript。

优缺点:跨平台能力强,易于调,执行速度慢。

3. JSP(Java Server Pages)

   JSP是基于Java Servlet以及整个Java体系的Web开发技术。在HTML文档中嵌入Java程序片段(Scriptlet)和JSP标记语言就形成了JSP文件。JSP脚本在服务器端运行,可以跨UNIX、Linux、Windows平台使用,具有平台无关性。JSP代码须编译成Servlet并由Java虚拟机执行,编译操作仅在对JSP页面的第一次请求时发生。
   JSP最大的好处就是开发效率高,可以使用JavaBeans或者EJB(Enterprise JavaBeans)来执行应用程序所要求的复杂处理,但这种网站构架因为其业务规则代码与页面代码混为一体,不利于维护,因此不适应大型应用的要求。通过基于MVC的Web构架可以弱化各个部分的耦合关系,并将业务逻辑处理与页面及数据分离开来,这样当某个模块的代码改变时,并不影响其他模块的正常运行。

4. Python

   Python是面向对象的、解释型的程序设计语言。
   Python具有高度的可阅读性。它使用了限制性很强的语法,其中重要的一项就是缩进规则,通过强制程序员缩进(包括if、for和函数定义等所有需要使用模块的地方)使得程序更加清晰和具有可读性。
   Python既支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。
   Python本身被设计为可扩充的。它提供了丰富的API和工具,以便程序员能够轻松地使用C语言、C++等语言来编写扩充模块。Python编译器本身也可以被集成到其他需要脚本语言的程序内。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值