[第1课] 第零讲

主题:课堂上首先介绍了课程的结构以及每一讲的相应内容,介绍了课程的前提条件是最好熟悉HTML并拥有一定编程基础。这一讲主要介绍建立网站,并让互联网上的人能够看到你的网站。如何建网站呢?首先是需要一个域名,如foo.com,这需要向注册商购买。然后需要租用服务器或选择使用虚拟主机,这也需要付费购买。之后将服务器的DNS服务器地址告诉注册商,然后做好网站上传,这就能接入互联网了。课程最后还编写了Hello World的网页实例,以此介绍简单的HTML和CSS。另外,课上用到了一款Firebug浏览器插件,非常有趣,能窥视浏览器和服务器之间的沟通过程,还能用来即时调试代码。

[第2课] 第一讲 PHP

主题:课堂上首先提到了服务器软件Apache的一些配置问题,如何设置文件目录、如何重定向等一系列问题。之后课程切入到实际PHP编码环节,课上讲了两个主要例子,一个是仿谷歌搜索,一个是个人信息注册表,详细介绍了编码,以及浏览器和服务器之间的详细交互过程。

[第3课] 第二讲 PHP(续)

主题:这一讲是PHP编程的第二讲。如今网站一般都会有用户登陆及身份验证系统,那么用PHP代码是如何来实现呢?Session指的又是什么?大家肯定都听说过Cookie,这又是什么,为什么说它具有重要作用?黑客如何在星巴克,用无线上网,利用Cookie来劫持用户?银行或亚马逊等购物网站的SSL证书到底又是什么,HTTPS又是什么,这些到底能达到多大的安全效果?以上内容课堂上都会详细讲解。

[第4课] 第三讲 XML

主题:像亚马逊这样的购物网站是如何实现购物车功能的?这一讲会给你提供一些思路。其实对于一个简易的数据系统,使用XML要比使用真正的数据库更容易入手。当今很多常用配置文件实质都是XML格式的:XML文件很简单就能在PHP中得到调用,并输出美观的HTML页面;当今流行的RSS本质也是XML文件;甚至我们MeGUI压片时截取声音片段的clt文件也是XML。XML有哪些规则,具体怎么实现,且听老师细细道来。

[第5课] 第四讲 SQL

主题:这一讲主要关于关系数据库及结构化查询语言SQL。首先继续上一讲,讲到了XPath是如何像C:fooar这样查询XML文件。然后引入了更强大的数据库系统及SQL语言,以及课程使用的MySQL引擎。特别的,讲到了phpMyAdmin这一MySQL使用利器,详细讲解了该图形界面工具(GUI)的各种功能和使用事项。最后,讲到在PHP代码中,如何动态使用SQL语句来实现用户密码登陆。

[第6课] 第五讲 SQL(续)

主题:登陆任何网站时,大家肯定输入过密码吧。那么密码功能在动态网站中是如何实现呢?密码需要保密,使用怎样的加密方式才能保证安全?很多人在不同网站上都使用相同用户名和密码,这会不会将密码信息泄露给这些网站的管理员,造成隐私泄露呢?首先,这一讲将从深层次剖析这一问题。另外,课程提到了连接(join)的概念,包括如何将数据表标准化,如何将表格化整为零,而需要时再化零为整。最后,课程提到了常用表格格式MyISAM和InnoDB的区别,以及事务是什么,原子操作又是什么。

[第7课] 第六讲 JavaScript

主题:JavaScript是客户端代码,不同于PHP是服务器端,JavaScript代码是在用户电脑上由浏览器解释执行。JavaScript有很多实用的功能,比如很多网站上验证两个密码是否一致,验证用户输入密码的强度,验证邮箱是否符合规范,是否同意服务条款,这些用户验证方面的内容无需提交到服务器再由服务器判断,在客户端浏览器就能简单快速判别,这既节省了网络流量,也提高了交互的速度。JavaScript还有很多功能,比如事件处理器能够侦听用户的鼠标键盘动作,然后做出响应。它还有很多流行的库,能很方便就实现非常强大的功能,比如经常使用的日期选择器就是一种。

[第8课] 第七讲 Ajax

主题:Ajax是异步的JavaScript与XML技术的首字母缩写,传统的Web应用允许用户端填写表单,当提交表单时就向Web服务器发送一个请求。服务器接收并处理传来的表单,然后送回一个新的网页,但这个做法浪费了许多带宽。与此不同,Ajax应用可以仅向服务器发送并取回必需的数据,它使用一些页面服务接口,并在客户端采用JavaScript处理来自服务器的回应,实现不刷新页面的情况下完成请求并获取数据。另外,这一讲还讲到了JSON,即JavaScript对象表示法。最后,课堂上提到了如何将谷歌地图应用到你的网页中。

[第9课] 第八讲 安全

主题:英国皇家海军的网站受到攻击,其管理员帐户和密码别攻击者贴到网上,很讽刺的是,英国政府刚刚宣布增加这些网站的安全性预算。攻击者所使用的是SQL注入攻击,这种攻击其实只需要一个函数调用就能避免。星巴克中无线上网结果帐号被盗的问题非常常见,使用火狐插件Firesheep能够轻松登陆并侵害无线网络中的脸谱、谷歌、推特等帐户,那么应该怎么应对呢?SSL是什么,如何防止被钓鱼,一键购买有什么隐患?这些都是这一讲的主题。安全和黑客已经成为当今互联网中一个不可回避的问题,这一讲将深入浅出地告诉你:作为编程者,应该如何尽量杜绝安全问题;以及作为用户,应该如何避免被侵害。

[第10课]第九讲 可规模性

哈佛大学公开课:构建动态网站

学校: 哈佛大学

讲师: David J. Malan

集数: 10

授课语言: 英文

类型: 国际名校公开课 计算机

课程简介: 如今网站的趋势是动态,越来越多的页面不再是静态HTML文件,而是脚本和数据库调用实现的动态页面。使用Ajax技术代替传统页面重载后,用户界面无缝对接更好。这一课程教学生如何用Ajax,用Linux、Apache、MySQL及PHP(LAMP)这些来构建动态网站。学生将学会如何用DNS设立域名,如何用XHTML和CSS构造页面,如何用JavaScript和PHP编程,如何配置Apache和MySQL,如何用SQL设计和查询数据库,如何用使用XML和JSON的Ajax,以及如何建立Mashup网站。这门课将探讨安全、可扩展性、跨浏览器支持,还探讨了企业级网站部署。