第一章 基础知识
来源:互联网 发布:极简php网盘源码 编辑:程序博客网 时间:2024/05/18 01:04
1、一些名词
域名系统(Domain Name System,DNS)
万维网联盟(World Wide Web Consortium,W3C)
传输控制协议/Internet协议(Transmission Control Protovcol/Internet Protocol,TCP/IP)
基于TCP/IP运行的协议主要有:
Telnet,它使得Internet上某台计算机的用户可以登录并使用Internet上的另一台计算机。
文件传输协议(File Transfer Protocol,FTP),用于Internet上各个计算机直接的文件传输。
Usenet,用于实现电子公告板。
Mailto,允许Internet上某台计算机的用户将消息发送给Internet上其他计算机用户。
超文本传输协议(Hypertext Transfer Protocol,HTTP),提供了一种标准的浏览器和Web服务器之间的通信格式。
2、Web与Internet
Web(World Wide Web,简称为web)和Internet并不是一回事,Internet是计算机和其他设备的集合,它们通过设备连接起来,相互直接可以通信。Web则是一组软件和协议的集合,Internet中的绝大部分(甚至全部)计算机都安装了这些软件和协议。其中有些计算机运行Web服务器,用来提供文档,但大多数计算机运行Web客户机或浏览器,用来从服务器请求文档,并将文档显示给用户。但是,目前的情况是大部分用户通过Web来使用Internet。
3、Web服务器
Web服务器是可以向发出请求的浏览器提供文档的程序,服务器是一种被动程序,只有当Internet上运行的其它计算机中的浏览器发出请求时,服务器才会响应。最常用的Web服务器是Apache和Microsoft的Internet信息服务器(Internet Information Server,IIS)
Web浏览器通过向服务器发送URL来启动与服务器之间的网络通信。一个URL可以指定一下两种不同资源的某一种:存储在服务器中某个数据文件的地址,改文件将发送到客户机;或者客户机要去执行的位于服务器中的某个程序,程序的执行结果将返回到客户端。
简单的将,Web服务器的主要任务就是监控主机的通信端口,通过通信端口接收HTTP命令,并运行该命令指定的操作。所有的HTTP命令都包含一个URL,其中包含主机名称。当接收到这个URL之后,Web服务器就将其转换为一个文件名称(向客户机返回一个文件)或者程序名称(执行该程序,并将结果返回到客户机)
服务器服务器的一般特性:
Web服务器的文件结果中有两种目录:文档根目录和服务器根目录
客户机不能直接访问URL中指定的文档根目录,而是通过服务器将请求的URL映射为文档目录,许多服务器允许一部分文档集合存储在文档根目录之外的路径中,这种提供文档的辅助性区域称为虚拟文档树。(例如存储到辅助磁盘)
有些服务器可以提供Web上其他主机的文档根目录中的文档,这种被称为代理服务器。
虽然Web服务器的最初设计目标只是支持HTTP协议,但目前许多服务器可以支持ftp、gopher、news以及mailto协议。此外几乎所有Web服务器都支持通用网关接口(Common Gateway Interface,CGI)程序和服务器脚本与数据库系统进行数据交互。
统一资源定位符(Uniform/Universal Resource Locator,URL)
用于标识Internet中的文档(资源),通过不同格式的URL标识不同类型的资源。
通用格式:scheme:object-address
Scheme一般指的是通信协议。(例:http、ftp、gopher、telnet、file、mailto以及news)
当scheme为http时,object-addres格式应为:
//完全限定域名/文档路径
当scheme为file时完全限定域名就可以省略了:
file://文档路径
URL中不能包含空格(实际上某些浏览器接收URL中的空格,但这样并不标准),还有些特殊符号也不能包含(包括分号、冒号和&符号),如果要在URL中嵌入空格或者这些特殊符号,必须将其写为百分号%加ASCII码的形势,其中ASCII码是一个十六进制的两位数。(例:域名为San Jose,必须写为San%20Jose的形式(20是空格符对应的十六进制ASCII码))
Web中采用MIME(多用途国际邮件扩充协议)来指定传递的文档类型。格式如下:
类型/子类型 例如:text/html
最常见的MIME类型为text(文本)、image(图片)、vidoe(视频),最常用的文本子类型为plain和html,最常用的图片子类型为gif和jpeg。
4、超文本传输协议(Hypertext Transfer Protocol)
所有的Web通信事务都使用同一协议,即HTTP。
HTTP包括两个阶段:请求阶段和响应阶段
浏览器和Web服务器之间的每次HTTP通信(请求和响应)都包含两个部分:头部和主体。
头部包含了通信有关的信息;主体包含了通信数据(前提是包含这样的数据)
请求阶段:
HTTP请求的通用格式如下:
(1) HTTP方法 URL中的域名部分 HTTP版本
(2) 头部字段
(3) 空行
(4) 消息主体
这是一个HTTP请求的首行实例:GET /storefront.html HTTP/1.1
方 法
描 述
GET
返回指定文档的内容
HEAD
返回指定文档的头部信息
POST
利用随附的数据来执行的文档
PUT
利用随附的数据来转换指定的文档
DELETE
删除指定的文档
HTTP通信的首行之后是任意数目的头部字段,其中大部分是可选的。头部字段的格式由字段名称和字段值构成,之间由冒号隔开。共有以下4类头部字段:
(1)General:针对普通信息,如日期等
(2)Request:包含在请求头部中
(3)Response:针对响应头部
(4)Entity:请求头部和响应头部中都使用该字段
一个常用的请求字段为Accept字段,它指定了浏览器针对被请求文档的MIME类型的首选项,若浏览器可以接受多种格式的文档,那么可以指定多个Accept字段,如:
Accept:text/plain
Accept:text/html
Accept:text/gif
可以使用太佩服“*”指定任何形式的MIME子类型,例如可以接受所有类型的文本:
Accept:text/*
请求的头部必须有一个空行,该空行用于将请求的主体和头部分隔开来。使用了GET、HEAD、DELETE方法的请求没有请求主体,这种情况下空行是请求结束的标记。
响应阶段:
响应的通用格式如下:
(1) 状态行
(2) 响应头部字段
(3) 空行
(4) 响应主体
状态行包含了所用的HTTP版本号,此外包括一个三位数表示的响应状态码和针对状态码的一个简单的文本解释。 例如:
HTTP/1.1 200 OK+
HTTP状态码的开头数字
开头数字
类 别
1
信息
2
成功
3
重定向
4
客户端错误
5
服务器错误
例如404 Not Found是一个最常见的状态码
2000年初期,W3C提出了XHTML1.0用来替换HTML4.01,相对来讲XHTML1.0只是语法规则更为健壮了,这些更为健壮的规则是指XML的语法
HTML是利用标准通用标记语言(Standard Generalized Markup Language,SGML)定义的,DGML是一种定义标记语言的语言(这种语言也被称为元标记语言),可扩展标记语言(eXtensible Markup Language,XML)是SGML的简化版本,通过XML用户可以很容易的根据需要创建标记语言,XHTML就是利用XML定义的。
XHTML描述一般信息的总体布局和某些表现细节,而基于XML的标记语言通过自己特有的标签和属性描述了数据及其含义。XML不指定具体细节。
XML的一个巨大优势是在应用程序中,我们可以将某种给定标记语言的标签赋予适合的内容,然后根据标签的含义就能够找到对应类型的数据并加以处理。XML语法规则和某种特定的基于XML的编辑语言的语法规则,都可以用于在任何应用程序处理文档数据之前对文档进行验证。这就意味着可以检验所以使用了某种特定标记语言的文档是否遵循这个文档的标准格式。这在很大程度上简化了用于处理XML文档数据的有用程序的开发过程。
- 第一章 基础知识
- 第一章 基础知识
- 第一章 基础知识
- 第一章 基础知识
- 第一章 基础知识
- 第一章 基础知识
- 第一章 基础知识
- 第一章 基础知识
- 第一章:基础知识
- 第一章 基础知识
- 第一章 基础知识
- 第一章 Linux基础知识
- 汇编语言 第一章 基础知识
- 第一章 信息化基础知识
- 《Python 第一章》基础知识
- Python 第一章 基础知识
- 《汇编语言》第一章-基础知识
- 第一章、基础知识(Part2)--字符串
- freemarker写select组件(二)
- 潜在语义索引(LSI)
- 大数据的冲击-某所研究院
- Group by与having理解
- 算法->判断单链表环的入口
- 第一章 基础知识
- linux 打开文件数 too many open files 解决方法
- NSString在内存管理中的怪象
- N!的末尾有几个零以及二进制表示最右边1的位置
- Mybatis 入门之resultMap与resultType讲解实例
- arduino引脚图
- 你看懂了程序猿的这些笑话吗?
- 谨在此简单地记录下,心酸,激动
- maven的初步使用--Eclipse android maven的项目创建