4.1 what is HTTP protocol 这对于本科是网络工程专业的我来说没有多大的难度哈哈。找了大三学期末复习互联网原理与应用这一门课的笔记,重新“缅怀”一下(不知道这个词可不可以这么用)这段时光。
World Wide Web,简称Web
www核心:URL,HTML,HTTP,浏览器
HTTP:通过TCP封装,所以是应用层协议;
1、什么是超文本、超媒体、 HTML与Web ,相互之间如何?
超文本:在文本中加入了其它文本链接;
超媒体:在超文本中加入了图象、声音和视频的链接。(相当于说指向其它链接的文档)
HTML:用于创建与识别Web的文档,HTML就是超文本标记语言
所以二者之间的是超媒体比超文本多出视频,图像等信息;
2、什么是标记语言,标记(签)有什么用。
标记语言:文本中嵌入一系列控制符号,使文件按作者要求的格式显示或打印。
tag:用于排版
6、为什么有时链接打开一个网页会发现无效?
WWW是基于互联网的分布式的超媒体或超文本,每个Web文档存放在不同计算机上,并由不同的人员独立管理,其修改、删除、增加或重命名等不会(实际也无法)通知相连的其它节点,所以常常会出现链接的无效或不一致情况。(区别于OSPF协议,作为主router,他会定期的泛洪节点的信息去更新整个网络的拓扑)
web文档是可以不用放在LAN上的,而web系统不可以
7、分析Web Cache主要使用在什么地方,解决什么问题。
proxy server,也叫web cache,主要是用于减少访问server的数据帧,当客户端向proxy server发送http请求报文时候,proxy server就会检查是否已经存储了目的的资源,if 有 then 发送回client;else 整合所有的请求后向server发送一个http请求,再把传送回来的数据存储并送给client,当然,这种存储按道理来说也会是有老化机制的;
解决了服务器拥塞的问题,大大降低了网络(链路上)的时延;(其实也类似DNS服务器查找IP地址一样,异曲同工之妙)
8、试说明C/S结构和B/S结构的异同。
C/S 即:Client与Server ,中文意思:客户端与服务器端架构,这种架构是从用户层面(也可以是物理层面)来划分的。这里的客户端一般指,程序需要先安装后,才能运行在用户的电脑上,对用户的电脑操作系统环境依赖较大。
B/S即:Browser与Server,中文意思:浏览器端与服务器端架构,这种架构也是从用户层面来划分的。Browser浏览器,其实也是一种Client客户端,只是这个客户端不需要安装什么应用程序,只需在浏览器上通过HTTP请求服务器端相关的资源(网页资源),客户端Browser浏览器就能进行增删改查。严格意义上来说,B/S架构也是隶属于C/S架构的。 NIO(非阻塞式I/O),它允许应用程序在进行I/O操作时不会阻塞当前线程,而是通过轮询或事件通知方式来判断是否有I/O操作可以执行。在这个设计中,服务器使用了一个名为Monitor的函数来监听多个客户端连接,并通过非阻塞方式处理这些连接上的读写操作。
1、readableConns, _ := Monitor(conns): 这一行代码调用Monitor函数来监听连接列表conns,并返回一个包含可读连接的列表readableConns。这里假设Monitor是一个用于非阻塞地监听连接的函数,它可能会使用轮询或事件通知机制来判断连接是否可读。当这个监听器读到足够的数据时才继续进行下一步。
流程:函数采用Monitor()函数以轮询的方式,监听到足够的数据赋值给readableConns,下一步以for循环的方式分别对读取到的连接创建协程,并发处理。
总体来说,两者的不同之处在于conn,:=listener.Accept()于readableConns,:=Monitor(conns),其中conn,:=listener.Accept()在出现TCP连接丢包,或者出错的情况下,会一直阻塞在当前的连接中;而readableConns,:=Monitor(conns)是一种轮询的机制,就会避免一直卡在某个连接的情况。