20155211 课下测试ch11补做
20155211 课下测试ch11补做
- Web服务器的实现基于HTTP协议,有关HTTP协议,下面说法正确的是()
A.可以用telnet充当Web服务器的客户端进行调试
B.HTTP请求的GET和POST方法功能完全一致
C.HTTP的响应码200表示处理成功
D.HTTP的响应码404表示客户端错误,无法打开请求的文件
E.HTTP的响应码501表示服务器端错误,不支持请求的方法
正确答案: A C E 你的答案: C E p667 对于调试在连接上通过文本行来与客户端对话的服务器来说,TELNET程序是非常便利的。
- 有关Web服务器的说法,正确的是()
A.Web服务器可以提供静态和动态内容
B.Web服务器返回的静态内容由URL标识
C.
/.../app?150&21传递的内容由app可执行文件产生,150和21是调用参数
D.最小的URL后缀“/”,会被扩展成类似“/index.html”的默认主页
正确答案: A B C D 你的答案: B D p666 WEB服务器以两种不同的方式向客户端提供内容:取一个磁盘文件(静态),运行一个可执行文件(动态内容)。
- 有关echo服务器代码,编译后的可执行程序为echoserv,下面说法正确的是()
A.该echo服务器是迭代服务器
B.该echo服务器是并发服务器
C.echoserv应该先于eccho客户端启动
D.
./echoserv 8089, 8089是服务器端的端口
E.
./echoserv 8089, 8089是客户端的端口
正确答案: A C D 你的答案: B D p664 题目为图11-21,该echo服务器一次只能处理一个客户端,称为迭代服务器。该服务器为客户端服务。
- 有关echo客户端代码,编译后的可执行程序为echocli,下面说法正确的是()
A.
./echocli 192.168.0.123 8088 ,命令行中的IP和端口号是客户端的
B.
./echocli 192.168.0.123 8088 ,命令行中的IP和端口号是服务器端的
C.
./echocli 192.168.0.123 8088 时,argc =2
D.
./echocli 192.168.0.123 8088时,“8088”由argv[1]传入
E.
./echocli 192.168.0.123 8088 时argc =3
F.
./echocli 192.168.0.123 8088时,“8088”由argv[2]传入
正确答案: B E F p663 为图11-20结束后通知服务器。
- 有关套接字接口函数open_clientfd()、open_listenfd(),下面说法正确的是()
A.这两个函数中open_clientfd()只可以用于客户端编程
B.这两个函数中open_clientfd()可以用于客户端和服务器端编程
C.这两个函数中open_listenfd()只可以用于服务器端编程
D.open_clientfd()中的port参数是客户端的端口
E.open_clientfd()中的port参数是服务器端的端口
F.open_clientfd()返回的clientfd可以有Unix I/O接口读写
G.open_listenfd()返回的listenfd可以有Unix I/O接口读写
正确答案: A C E F 你的答案: A E F p660中open_listenfd()和服务器建立连接的辅助函数。
- Linux提供了getaddrinfo和getnameinfo实现二进制套接字地址和主机信息的转换,下面说法正确的是()
A.getaddrinfo用来将套接字结构转化为主机信息
B.getnameinfo用来将套接字结构转化为主机信息
C.getaddrinfo可以用来替代gethostbyname
D.getnameinfo可以用来替代getservbyport
E.getnameinfo包含了getinet_pton的功能
F.getaddrinfo必须和freeaddrinfo一起使用
正确答案: B C D F p656 getaddrinfo函数将主机名,主机地址,服务名和端口号的字符串表示转化成套接字地址结构。
- 有关socket 接口中的connect(),下面说法正确的是()
A.这个函数用于客户端编程
B.这个函数用于服务器端编程
C.调用connect会发生阻塞,连接成功程序会继执行
D.调用connect()成功返回的文件描述符可以用来数据传输
正确答案: A C D 你的答案: A D p654 调用connect会发生阻塞,连接成功程序会继执行或是发生错误。
- 有关socket接口中的socket(),下面说法正确的是()
A.不论客户端编程还是服务器端编程都要调用socket()
B.socket()中的type参数设置为SOCK_STREAM时,基于TCP的,数据传输比较有保障
C.socket()中的type参数设置为SOCK_DGRAM时,基于TCP的,数据传输比较有保障
D.使用socket()返回的文件描述符通过read(),write()就可以传输数据了
E.socket()中的protocol参数一般设为0
F.socket()中的type参数设置为SOCK_RAW,允许对底层协议如IP或ICMP进行直接访问
G.socket()可用getaddrinfo返回的ai_family,ai_socktype和ai_protocol填充
正确答案: A B E F G 你的答案: A B E p654。。没找到答案。
- 如图关于struct sockaddr_in和struct sockaddr,下面说法正确的是()
A.sa_family可以是AF_INET,AF_INET6和AF_UNSPEC
B.sa_family如果指定AF_INET,那么函数就不能返回任何IPV6相关的地址信息;如果仅指定了AF_INET6却可以返回IPV4地址信息。
C.套接字接口中的地址类型是sturct sockaddr
D.套接字接口中的地址类型是sturct sockaddr_in
正确答案: A C p653 为图11-13.书中描述显示了AC为正确
- 有关Socket端口和Linux命令,下面说法正确的是()
A.可以用 echo /etc/services查看
B.使用 netstat -pan|grep 80可以查看哪些进程占用了80端口
C.可以使用lsof -i:80查看哪里些进程占用了80端口
D.可以用sudo /etc/init.d/service start|stop|restart 启动|停止|重启系统服务
E.可以用netstat -pa查看所有的服务端口(LISTEN,ESTABLISHED)
F. ps -aux | grep pid可以查看绑定某端口的进程号为pid的进程的详细情况
正确答案: A B C D E F
- 知名端口号(well-known port numbers)就是那些由互联网名称与数字地址分配机构(ICANN)预留给传输控制协议(TCP)和用户数据包协议(UDP)使用的端口号。下面有关知名端口号的说法正确的是()
A.echo 服务的端口号是7
B.ftp 文件传输协议(FTP)端口号是23
C.请求主机发送日期和时间的daytime服务的端口号是13
D.web服务器的端口号是80
E.telnet服务的端口号是21
F.SMTP服务的端口号是25
G.tftp服务的端口号是69
H.HTTPS服务的端口号是443
I.rsync服务的端口号是873
J.pop3服务的端口号是110
K.auth服务的端口号是113
正确答案: A C D F G H I J K 你的答案: A C F G H J K echo /etc/services 见p668页 图11-25
- 互联网是异构的,可以通过协议软件来消除差异。协议必须提供的两种基本能力是()
A.命名机制
B.路由机制
C.传送机制
D.安全机制
正确答案: A C 你的答案: B C p645 协议软件,消除了不同网络之间的差异,这个软件实现一种协议,这种协议控制主机和路由器如何协同工作来实现数据传输,这种协议必须提供两种能力即A,C。
- 针对下面代码,假设程序编译成hi可执行程序,下面说法正确的是()
A.用 ./hi www.besti.edu.cn运行时,argc=2
B.用 ./hi www.besti.edu.cn运行时,argc=1
C.用 ./hi www.besti.edu.cn运行时,argc=3
D.用 ./hi www.besti.edu.cn运行时,“www.besti.edu.cn”通过argv[0]传递
E.用 ./hi www.besti.edu.cn运行时,“www.besti.edu.cn”通过argv[1]传递
F.用 ./hi www.besti.edu.cn运行时,“www.besti.edu.cn”通过argv[2]传递
正确答案: A E p660 argv[0]是程序名hi 为p670页图11-27
- 编写服各器端程序会用到的套接字接口有()
A.socket()
B.connect()
C.bind()
D.listen()
E.accept()
正确答案: A C D E 你的答案: A B C D p652图11-12即为答案。
- 编写客户端程序会用到的套接字接口有()
A.socket()
B.bind
C.listen
D.connect
E.accept
正确答案: A D 你的答案: A D p652
- 因特网客户端和服务器端通过在连接上发送和接收数据,下面关于连接说法正确的是()
A.连接是点对点的
B.连接是半双工的
C.连接是可靠的
D.一个连接由两端的套接字对唯一确定
正确答案: A C D 你的答案: A C p651 连接是点对点的,从数据可以同时双向流动的角度来说,他是全双工的。
- Ubuntu中的hosts文件存在()目录中
A./bin
B./etc
C./usr
D./sys
E./home
正确答案: B 你的答案: B /etc/hosts
- 有关域名和IP地址的说法,正确的是()
A.1988年前,域名和IP地址的映射通过HOST.txt来完成
B.1988年后,域名和IP地址的映射通过DNS来完成
C.Linux中可以使用hostname(1)来展示和某个IP对应的域名
D.域名和IP地址的映射必须是1对1 的
正确答案: A B 你的答案: B C p650我们可以使用hostname来确定本地主机的实际域名。最简单的情况中,一个域名和一个ip地址之间是一一映射,然而在某些情况下,多个域名可以映射为同一个ip地址,在最通常的情况下,多个域名可以映射到同一组的多一个IP地址。
- 域名localhost的IP 地址是()
A.127.0.0.1
B.192.168.0.1
C.255.255.255.0
D.255.255.255.255
正确答案: A 你的答案: A p650
- 有关IP地址,说法正确的是()
A.x86中,IP地址结构中存放的地址是大端的。
B.x86中,IP地址结构中存放的地址是小端的。
C.IP 128.4.194.240是0x8004c2f0的点分十进制表示
D.IP 128.4.194.240是0xf0c20480的点分十进制表示
E.可以调用inet_pton() 把点分十进制转为32位IP地址
正确答案: A D E 你的答案: A C E p648 点分十进制即每个字节由他的十进制值表示,并用句点和其他字节间分开。
- 把主机上数据0x12345678通过网络传输,要调用()函数进行字节顺序转换。
A.htons
B.htonl
C.ntohs
D.ntohl
正确答案: B 你的答案: D p648 htonl函数将32位整数右主机字节顺序转换为网络字节顺序。nonhl则是将网络字节顺序转换为主机字节。
- 因特网的客户端和服务器进程通过()函数进行通信。
A.套接字接口函数
B.进程控制函数
C.线程控制函数
D.Unix I/O函数
正确答案: A D 你的答案: A p647 因特网的客户端和服务端混合使用套接字接口函数和Unix I/O函数来进行通信。
- 网络字节序是()
A.小端
B.大端
C.大端,小端都可以
D.大端,小端都不可以
正确答案: B p647 TCP/IP为任意整数数据项定义了统一的网络字节顺序(大端字节顺序)
- 程序员眼中可以把因特网看成一个主机集合,集合要满足()特性。
A.主机集合被映射成一组32位的IP地址
B.IP地址映射成域名
C.因特网上主机通过连接进行通信
D.IP地址由网络适配器的MAC值确定
正确答案: A B C 你的答案: A D p647 IP协议提供基本的命名方法和传送机制,这种传送机制能够从一台因特网主机往其他主机发送包,也叫做数据包。
- 客户端-服务器模型中客户端和服务器都是指()
A.进程
B.程序
C.PC机器,服务器主机
D.浏览器程序和服务器主机
正确答案: A 你的答案: A p642
- 有关计算机网络,下面说法正确的是()
A.相对主机,网络是一种I/O设备
B.物理上,网络是一个按照地理远近组成的层次系统,最低层是WAN
C.以太网适配器都有一个32位的全球唯一地址
D.LAN使用网桥可以组成WAN
E.路由器用来由各种LAN,WAN构建互联网络
正确答案: A E p643,p644,p645 对于主机,网络又是一种I/O设备,是数据源和数据接收方。物理上而言,网络是一个按照地理远近组成的层次系统。
- 有关客户端-服务器模型,下面说法正确的是()
A.一个应用由多个服务器和多个客户端组成
B.客户端-服务器模型的基本操作是事务
C.客户端-服务器模型是基于“请求-响应”模式的,客户端主动发起请求,服务器被动响应。
D.服务器指的是服务器主机
正确答案: B C 你的答案: C D p642 当一个客户端需要服务时,他向服务器发送一个请求,发起一个事务;服务器收到请求后,解释他,并等待下一个请求;客户端收到响应并处理它。