您的位置:首页 > 理论基础 > 计算机网络

第十一章 网络编程

2015-10-11 11:50 260 查看
1、客户端-服务器

服务器:管理某种资源,并通过操作这种资源来为它的客户端提供某种服务。

事务(transaction):C-S模型的基本操作

Ø 客户端发送请求

Ø 服务器接收请求,解释,操作资源

Ø 服务器发送响应,并等待下一个请求

Ø 客户端收到响应并处理

客户端和服务器是进程。

2、网络

网络的物理接口是网络适配器。

网络是一个按照地理远近组成的层次系统。

最底层LAN(Local Area Network,局域网),最流行的局域网技术是“以太网”(Ethernet)。

以太网段:包括 电缆(通常是双绞线)、集线器。

桥接以太网(bridged Ethernet):电缆和网桥(bridge)将多个以太网段连接成较大的局域网。

局域网的简化表示:集线器、网桥和电缆 画成一根水平线。

互联网络(internet):多个不兼容的局域网、广域网通过路由器(router)连接起来。

广域网(Wide-Area-Network,WAN):覆盖的地理范围比局域网大。

运行在每台主机和路由器上的协议软件,消除不同网络之间的差异。

协议(protocol):控制主机和路由器协同工作来实现数据传输。

Ø 命名机制:为每台主机分配互联网络地址(internet address),唯一的标识主机。

Ø 传送机制:数据位捆扎成不连续的片(包:包头、有效载荷)的统一方式。

3、全球IP因特网

最著名和最成功的互联网络实现。

TCP/IP协议(Transmission Control Protocol/Internet Protocol,传输控制协议/互联网络协议)

互联网看做是世界范围内的主机集合,具有三个特性:

Ø 主机集合被映射为一组32位的IP地址。

Ø IP地址被映射为一组因特网域名(Internetdomain names)

Ø 因特网主机上的进程通过连接(connection)和任何其他因特网主机上的进程通信。

3.1、IP地址

struct in_addr

{

unsignedint s_addr;

};

IP地址通常以“点分十进制表示法”表示。

TCP/IP为任意整数数据定义了统一的网络字节顺序:大端字节顺序

Unix提供网络和主机字节顺序转换接口(参考APUE)、IP地址和点分十进制串间转换接口。

hostname -i 查看IP地址

3.2、因特网域名(domain name)

域名:由一串用点分隔的单词组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。

DNS(网域系统,Domain Name System):是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP地址数串。

struct hostent
{
char*h_name;
char**h_aliases;
int h_addrtype;
int h_length;
char**h_addr_list;
};
#include <netdb.h> 中gethostbyname 函数和gethostbyaddr函数,从DNS数据库中检索任意的主机条目。

本地回送地址(loopback address)127.0.0.1
命令hostname 来获取本地主机的实际域名。

域名和IP地址映射:
Ø 一一映射
Ø 多个域名映射为同一个IP地址
Ø 多个域名映射多个IP地址
Ø 某些合法的域名没有映射IP地址

3.3、因特网连接

4、套接字接口

参考《APUE》

5、Web服务器

5.1、Web基础

(1)HTTP

Hypertext Transfer Protocol 超文本传输协议

Web客户端(即浏览器)和服务器之间交互的基于文本的应用级协议。

(2)HTML

Hypertext Markup Language 超文本标记语言

Web内容可以用HTML语言来编写。

告诉浏览器如何显示网页中的各种文本和图形对象。

5.2、Web 内容

Web内容有两种:

² 静态内容(static content):磁盘文件。

² 动态内容(dynamic content):可执行文件产生的输出。

Web服务器以两种不同的方式向客户端提供内容:

² 服务静态内容:取一个磁盘文件,并返回给客户端。

² 服务动态内容:运行一个可执行文件,并将输出返回给客户端。

URL(Universal Resource Locator,通用资源定位符):每个Web服务器管理的文件都有一个唯一的名字,。

5.3.HTTP事务

(1)HTTP请求

请求行

零个或多个请求报头

空文本行终止报头列表

(2)HTTP响应

响应行

零个或多个响应报头

空文本行终止报头

响应主体

5.4、服务动态内容

6、综合:TINY Web服务器
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: