# Web程序设计
## 一、W3C、WEB标准:
##### WEB标准:
> 不是某一个标准,而是一系列标准的集合。网页主要由三部分组成:结构(Structure)、表现(Presentation)和行为(Behavior)。
##### 对应的标准也分三方面:
> 结构化标准语言主要包括XHTML和XML,表现标准语言主要包括CSS,行为标准主要包括对象模型(如W3C DOM)、ECMAScript等。
<img src="/Users/georgegao/Library/Application Support/typora-user-images/image-20210617101727565.png" alt="image-20210617101727565" style="zoom:50%;" />
这些标准大部分由万维网联盟 (外语缩写: W3C )起草和发布,也有一些是其他标准组织制订的标准,比如ECMA(European Computer Manufacturers Association)的ECMAScript标准。
##### 对于html要求:(标签规范可以提高搜索引擎对页面的抓取效率)
- 标签字母要小写
- 标签要闭合
- 标签不允许随意嵌套
##### 对于css和js:
> 尽量使用外链css样式表和js脚本。是结构、表现和行为分为三块,符合规范。同时提高页面渲染速度,提高用户的体验。样式尽量少用行间样式表,使结构与表现分离,标签的id和class等属性命名要做到见文知义,标签越少,加载越快,用户体验提高,代码维护简单,便于改版不需要变动页面内容,便可提供打印版本而不需要复制内容,提高网站易用性。
## 二、主流的WEB服务端技术:
##### 1、J2EE:
开发架构是 UNIX/windows+Tomcat+Orecle+JSP的组合,主要是用JAVA编写程序。比如Android平台级应用的网页后台用户管理端。
##### 2、ASP.NET:
开发框架是 Windows server +IIS+sql Server+ASP的组合,主要开发语言有C#.NET和VB.NET。
##### 3、PHP(PHP: Hypertext Preprocessor)
即“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,主要目标是允许web开发人员快速编写动态网页。
##### 4、RoR:(RoR:Ruby on Rails)
Ruby on Rails是一个用于编写网络应用程序的框架,它基于计算机软件语言Ruby,给程序开发人员提供强大的框架支持。Ruby on Rails包括两部分内容:Ruby语言和Rails框架。
<img src="/Users/georgegao/Library/Application Support/typora-user-images/image-20210617102438090.png" alt="image-20210617102438090" style="zoom:50%;" />
## 三、XML语言:
##### 1、什么是XML:
XML 指可扩展标记语言。XML 被设计用来传输和存储数据。
##### 2、XML文档的构成:
##### (1)XML声明的写法:
> https://www.w3school.com.cn/xml/xml_Syntax.asp
> 重点:关闭标签、大小写敏感、正确嵌套、属性值x=“123”
>
> 难点:实体引用、空格不会缩减为1个(HTML会)
##### (2)元素、标记:
> https://www.w3school.com.cn/xml/xml_elements.asp
> 重点:命名规则(非法符号)
命名规则:
> 名称可以含字母、数字以及其他的字符
>
> 名称不能以数字或者标点符号开始
>
> 名称不能以字符 “xml”(或者 XML、Xml)开始
>
> 名称不能包含空格
##### (3)属性:
> https://www.w3school.com.cn/xml/xml_attributes.asp
> 重点:属性值必须加引号(单双引号均可)
>
> 难点:属性和元素的区别
```xml
<person sex="female">
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>
<person>
<sex>female</sex>
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>
```
在第一个例子中,sex 是一个属性。在第二个例子中,sex 则是一个子元素。两个例子均可提供相同的信息。
##### (4)实体:
> https://www.w3school.com.cn/xml/xml_cdata.asp
> 非法的 XML 字符必须被替换为实体引用(entity reference)。
假如您在 XML 文档中放置了一个类似 "<" 字符,那么这个文档会产生一个错误,这是因为解析器会把它解释为新元素的开始。因此你不能这样写:
```xml
<message>if salary < 1000 then</message>
```
为了避免此类错误,需要把字符 "<" 替换为实体引用,就像这样:
```xml
<message>if salary < 1000 then</message>
```
在 XML 中有 5 个预定义的实体引用:
<img src="/Users/georgegao/Library/Application Support/typora-user-images/image-20210616150531905.png" alt="image-20210616150531905" style="zoom:50%;" />
**注释:**严格地讲,在 XML 中仅有字符 "<"和"&" 是非法的。省略号、引号和大于号是合法的,但是把它们替换为实体引用是个好的习惯。
##### (5)CDATA:
> https://www.w3school.com.cn/xml/xml_cdata.asp
>
> CDATA 部分由 "*<![CDATA[*" 开始,由 "*]]>*" 结束。这里面的内容会被解析器忽略。
> 重点:
>
> CDATA 部分不能包含字符串 "]]>"。也不允许嵌套的 CDATA 部分。
>
> 标记 CDATA 部分结尾的 "]]>" 不能包含空格或折行。
##### (6)注释:
> 在 XML 中编写注释的语法与 HTML 的语法很相似:
```xml
<!-- This is a comment -->
```
##### 3、文档类型描述DTD:
> https://www.w3school.com.cn/dtd/index.asp
> 定义:可定义合法的XML文档构建模块。它使用一系列合法的元素来定义文档的结构。
> 重点:内部声明、外部声明的格式
##### 4、什么是形势良好的(Well Formed)XML文件
遵守如下规则的XML文档,称为格式良好的XML文档。
> 1)必须有xml的声明,例如<?xml version="1.0”?>
>
> 2)必须有且只有一个根元素
>
> 3)标记大小写敏感
>
> 4)属性值用引号,单引号双引号都可以,但必须一致
>
> 4)标记成对出现
>
> 5)空标记必须关闭,可以自关闭。例如:<book/>
>
> 6)元素正确嵌套,不可以交叉重叠
>
> 7)名称中可以包含字母数字或其他字符
>
> 8)名称不能以数字开头
>
> 9)名称中不能含有空格
>
> 10)名称中不能包含冒号“:”(冒号被保留,用作命名空间使用)
<img src="/Users/georgegao/Library/Application Support/typora-user-images/image-20210616152838618.png" alt="image-20210616152838618" style="zoom:50%;" />
两种说法略有不同,下面的摘自《从HTML到XML》 蔡翠平 北方交通大学出版社&清华大学出版社。意思对即可。
##### 5、什么是有效的(Valid)XML文件
> 在满足Well Formed的前提下,满足DTD的需求,就是Valid的XML文件。
##### 6、XML命名空间:
> https://www.w3school.com.cn/xml/xml_namespaces.asp
> 主要功能:避免命名冲突
>
> 重点:使用前缀、使用命名空间的基本语法
## 四、XHTML&HTML5:
##### 1、XHTML和HTML5的基本结构:
> DOCTYPE声明
>
> https://www.w3school.com.cn/tags/tag_doctype.asp
>
> DOCTYPE 声明没有结束标签、大小写不敏感
##### 2、XHTML文档的基本构件
> 标记,太多了自己去看W3School:
>
> https://www.w3school.com.cn/tags/index.asp
> 空标记,主要就是指<br>
> 属性:https://www.w3school.com.cn/html/html_xhtml_attributes.asp
> 元素:https://www.w3school.com.cn/html/html_elements.asp
##### 3、XHTML的三种文档类型:
> 共有三种类型的文档类型定义:
>
> 第一:严格型(Strict)。要求严格的DTD,不能使用任何表现层的标识和属性,代码必须严格按照规范编写。如下:
>
> ![image-20210617114852008](/Users/georgegao/Library/Application Support/typora-user-images/image-20210617114852008.png)
>
>
> 第二:框架型(Frameset)。如果要在页面中使用框架,就得引用这种DTD。
>
> ![image-20210617114900815](/Users/georgegao/Library/Application Support/typora-user-images/image-20210617114900815.png)
>
>
> 第三:过渡型(Transitional)。既符合规范,又对之前的版本有一定兼容性,目前使用最广泛的DTD类型。
>
> ![image-20210617114909845](/Users/georgegao/Library/Application Support/typora-user-images/image-20210617114909845.png)
##### 4、XHTML表格:
> 表格标签:
>
> https://www.w3school.com.cn/html/html_tables.asp
> 重点:行跨越、列跨越的写法
>
> 参考:https://blog.csdn.net/u012724595/article/details/79401401/
##### 5、XHTML表单:
> JS、PHP编程中用到。需掌握各种控件的写法。
>
> https://www.w3school.com.cn/html/html_forms.asp
> 常用属性:
>
> https://www.w3school.com.cn/html/html_attributes.asp
>
> 文本格式化:
>
> https://www.w3school.com.cn/html/html_formatting.asp
>
> !不支持使用!
##### 7、块元素和内联元素的区别:
<img src="/Users/georgegao/Library/Application Support/typora-user-images/image-20210617115541490.png" alt="image-20210617115541490" style="zoom:50%;" />
> div和span:div是块元素,span是内联元素
>
> blockquote和cite、q:blockqupte是块元素,cite、q都是内联元素
>
> pre和code:pre是块元素,code是内联元素
##### 8、如何转换HTML4.0成XHTML文档:
> 1.把DOCTYPE更改为严格的XHTML,如果你还在使用过渡的HTML(HTML4.01),那你可以把它转化为过渡的XHTML
>
> 2.添加xmlns属性、lang属性、和xml:lang属性到开始标记
>
> 3.标记必须是DOCTYPE之后的第一个标记,而必须是文档的最后一个标记
>
> 4.所有元素名称必须用小写字母表示
>
> 5.所有开始标记都须对应有结束标记。如果一个元素是空的,那么他的标记必须是以空格结尾,后跟/>
>
> 6.所有的属性值必须是空,并且带双引号
>
> 7.在HTML理不能使用&,&表示实体的开始,因此,应当用&;此外,吧特殊字符转化转化为实体
>
> 8、将COCTYPE改为严格的XHTML 1.0
>
> ![image-20210617115939888](/Users/georgegao/Library/Application Support/typora-user-images/image-20210617115939888.png)
>
> 9.添加xmlns 属性、lang属性和xml:lang属性到元素
>
> 如:<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
>
> 10.所有的空标记都应为 "/>"结尾,而不是 “>”
##### 9、框架,条件注释不考:
> 框架:
>
> https://www.w3school.com.cn/html/html_frames.asp
## 五、CSS
## 六、JS
## 七、HTTP:
##### 1、常见文件类型的MIME:
> https://www.w3school.com.cn/media/media_mimeref.asp
>
>
##### 2、HTTP请求报文:
##### 3、HTTP响应报文常见的状态码:
##### 4、Cookie的工作原理:
##### 5、表单数据的传递方式:
## 八、PHP字符串处理
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。