Web应用与应用层协议

  本篇博文中的主要参考文献是《计算机网络高级教程》,分别是吴功宜老先生和吴英教授合著。这部教程是我研究生老师所推荐的网络必读科目,由于该教程讲解的基础知识详细,但内容颇多,达700多页。特将各章节主要内容总结,后续各章节将逐步更新,由于本人学识有限,仅总结的是作者自己认为重要的内容。

   文章中的Why表示产生的背景,也就是说为什么会产生该技术,What表示该技术是什么,How表示该技术是如何使用的。以下将用字母表示各问题。

应用层协议分为3种基本类型:基础设施类、网络应用类、网络管理类。

基础设施类包括:

         支持Internet运行的全局基础设施类应用层协议——DNS(域名服务协议);支持各个网络系统运行的局部基础设施类应用层协议     ——DHCP(动态主机配置协议)。

网络应用类包括:基于C/S工作模式与基于P2P工作模式的应用层协议。

    基于C/S工作模式的应用层协议包括:Telent(网络终端协议)、SMTP(电子邮件服务协议)、FTP(文件传输协                           议)、HTTP(WEB服务协议)。

   基于P2P工作模式的应用层协议包括:文件共享协议、即时通信协议、流媒体协议、共享存储协议、协同工作协议。

网络管理类:主要是SNMP(简单网络管理协议)。

下面我们来看基础设施类中的Telent(网络终端协议):

Why:不同型号计算机之间的差异性,就是异构计算机系统之间的互联问题。

What:Telent引入NVT(网络虚拟终端)的概念,提供一种专门的键盘定义,用来屏蔽不同计算机系统对键盘输入的差异性。

How:用户的实终端采用用户终端的格式和本体Telnet客户通信;远程计算机采用主机系统格式与Telent服务器通信。在Telent客         户进程与Telent服务器进程之间,通过NVT(网络虚拟终端)标准来进行通信。如下图所示:

  

SMTP(简单邮件传输协议):

电子邮件系统分为邮件服务器端和邮件客户端。

邮件服务器端包括用来发邮件的SMTP服务器、用来接收邮件的POP3(邮局协议)、或IMAP(交互式邮件存取协议)服务器以及用来存储电子邮件的电子邮箱。

邮件客户端包括用户发送邮件的SMTP代理、用来接收邮件的POP3代理以及为用户提供管理界面的用户接口程序。

FTP(文件传输协议):

  What:文件传输服务是由FTP应用程序提供,而FTP应用程序遵循的是TCP/IP中的FTP协议。它运行用户将文件从一台计算机传输到另                     一 台计算机,并能保证传输的可靠性。

  How:首先建立控制连接,FTP控制连接的端口号为21;再建立数据连接,FTP数据连接的端口号是20。其次在FTP数据传输建立之                       后, FTP客户就可以从FTP服务器下载或上传文件。

  最后结束数据传输时,首先释放FTP数据连接,然后再释放FTP控制连接。如下图所示:

匿名FTP服务:

  What:提供服务的人或机构在其FTP服务器的账户上建立了一个公开账户,并赋予该账户访问公共目录的权限,以提供免费的服务。

  How:用户访问匿名服务的FTP服务器,不需要输入用户名和密码。如果输入的话,可用anonymous作为用户名,guest作密码。

Web应用:

支持Web服务的三个关键技术:

HTTP(超文本传输协议):它是在Web浏览器和Web服务器之间的传输协议。

URL(统一资源定位符):用来标识Web中的资源,便于用户查找。

HTML(超文本标注语言)

URL(统一资源定位符):

Why:在Internet中,必须要制定一种方法来标记可以提供给用户共享的每一个文件或对象。

What:由三部分组成:协议类型、主机名、路径及文件名。

例如:HTTP://www.nanki.edu.cn/index.html

http:指出要使用的协议类型,www.nanki.edu.cn指出要访问的服务器的主机名,index.html指出要访问的主页的路径与文件名。

HTTP协议:

  下面我们来了解一下该协议的特性。

  1) 无状态协议

  Why:为了提高Web服务器的并发处理能力

  What:服务器再接收到HTTP请求报文后,返回应答报文之后不保存有关Web浏览器的任何信息。即使是同一个Web浏览器在几秒钟之内两次访问同一个Web服务器,它也必须分别建立两次连接。

  2) 非持续连接

  What:如果客户需要向服务器发出多个服务请求报文,而服务器需要对每一个请求报文进行应答,那么就需要为每一个客户与服务  器的请求报文与应答报文建立一个TCP连接。

  3) 持续连接

  What:所有客户与服务器的请求报文与应答报文都可以通过一个TCP连接来完成

  持续连接有两种工作方式:非流水线与流水线

  非流水线方式的特点是:客户端只有在接收到前一个响应时才能发出新的请求,这时服务器每发送一个对象之后,要等待下一个请求的到来,连接处于空闲状态,浪费服务器的资源。

  流水线方式:客户端在没有收到前一个响应时就能够发出新的请求,客户端请求像流水线作业般,连续地发送到服务器端,服务器可以连续地发送应答报文。

(CDN)内容分发网技术研究

Why:为了缓解Internet用户增加与网络服务等待时间增长的矛盾。

What:如果某个内容被很多用户关注,那就将它缓存在离用户最近的结点上;选择合适的缓存节点为用户提供服务。

(DNS)域名系统

Why:早期主机名到地址的映射是放到主机文件(hosts.txt)中,主机名到IP地址的解析需要将hosts.txt文件传送到各个主机来实现,这使得网络信息中心主机负载过重。

What:其是Internet中的主机按照一定的规则,用自然语言表示的名字,它与确定的IP地址相对应。

    1) 域名空间:定义一个包括所有可能出现的主机名字的域名空间。

    2) 域名注册:保证每台主机域名的唯一性。

    3) 域名解析:提供一种有效的域名与IP地址转换机制。

How:将主机名转换成IP地址,使得用户方便的访问各种Internet资源与服务。

区、域与域名服务器:

Why:例如设置管理nanki.edu.cn域的域名服务器最简单的方法是设置一个域名服务器,管理所有南开大学内部的域名。但这种集中管理的方法带来的是域名系统运行效率低下,不能满足服务质量的要求。

How:

    1) 根据需要将一个域划分成不重叠的多个区。

    2) 每个区设置相应的权限域名服务器,用来保存该区内所以主机的域名与IP地址映射关系数据。区是域名服务器管辖的范围。

    3) 区和区的域名服务器相互连接,构成支持整个域的域名服务器体系。

域名解析算法:

递归解析

What:在递归解析过程中,如果本地域名服务器没有要解析的域名信息,那么本地服务器将接管向其他域名服务器请求解析的责任,再将最终结果返回给客户。

反复解析

What:本地域名服务器如果不能返回最终的解析结果,那么它只能返回它认为可以解析的域名服务器的IP地址。客户端解析程序就向下一个域名服务器发出解析请求,直至最终获得需要的解析结果。

第五章Web应用与应用层协议的更多相关文章

  1. Web应用与应用层协议

    Web应用与应用层协议 本篇博文中的主要参考文献是<计算机网络高级教程>,分别是吴功宜老先生和吴英教授合著.这部教程是我研究生老师所推荐的网络必读科目,由于该教程讲解的基础知识详细,但内容 ...

  2. 《图解HTTP》阅读笔记-第五章-web服务器

      第五章.与HTTP协助的web服务器单台虚拟主机实现多个域名可以用单台物理主机运行多台虚拟主机,这些虚拟主机的IP相同,而虚拟主机有可以寄存多个不同主机名和域名的web网站,所以要保证发送HTTP ...

  3. 第五章 Web应用程序状态管理

      状态管理概述 Cookie Session URL重写   状态管理概述: HTTP协议使用的是无状态的连接 对容器而言,每一个请求都来自于一个新的客户 这里我们有四种方法来解决这个状态: a:表 ...

  4. 第十五章-Web开发

    随着web的发展, 最开始使用的CS架构已经不适合web了, 现在web使用的架构是BS架构 如今大部分重量级的软件都以web形式提供了 web开发的四个阶段 1) 静态web页面 2) CGI: 静 ...

  5. Web基础之http协议

    第6章 Web基础之http协议 第6章 Web基础之http协议一.http协议介绍 1.1)什么是超文本 1.2)什么是URL 1.3)什么是超文本传输协议二.访问网站分析三.页面请求信息解析(仅 ...

  6. 《Introduction to Tornado》中文翻译计划——第五章:异步Web服务

    http://www.pythoner.com/294.html 本文为<Introduction to Tornado>中文翻译,将在https://github.com/alioth3 ...

  7. 与http协作的web服务器、http首部(第五章、第六章)

    第五章 与http协作的web服务器 1.用单台虚拟主机实现多个域名 通过域名访问主机,经过DNS解析成ip地址,反向代理,可以代理多台服务器,正向代理则相反,代理客户端 2.通信数据转化程序:代理. ...

  8. 第五章 与HTTP协作的Web服务器

    第五章  与HTTP协作的Web服务器 一台Web服务器可搭建多个独立域名的Web网站,也可以作为通信路径上的中转服务器提升传输效率. 1.用单台虚拟机实现多个域名 HTTP/1.1规范允许一台HTT ...

  9. 精通Web Analytics 2.0 (7) 第五章:荣耀之钥:度量成功

    精通Web Analytics 2.0 : 用户中心科学与在线统计艺术 第五章:荣耀之钥:度量成功 我们的分析师常常得不到我们应得的喜欢,尊重和资金,因为我们没有充分地衡量一个黄金概念:成果.因为我们 ...

随机推荐

  1. mvc项目中Controller执行完毕重定向到html的一个页面中

    String ip = request.getLocalAddr(); //取得服务器IP int port = request.getLocalPort(); //取得服务器端口 String ur ...

  2. .gitignore设置不生效

    .gitignore git中,如果想要让git忽略某些文件,或不想push到远程库,不让其受版本的控制.可以使用git提供的.gitignore文件进行配置.像这样: 一般情况下,在文件还未修改前, ...

  3. Kubernetes(二)-- 搭建(未完待续)

    一.部署前规划 1. 操作系统初始化设置 :需要设置好集群机器,关闭防火墙和selinux 2. 创建ca证书和私钥 :集群间通信要加密,那么肯定要有ca的创建,以后就用这一步创建的ca当作证书颁发机 ...

  4. 安卓apk重新签名教程

    可能大家会有疑问,为什么安卓apk文件要重新签名,签名后有什么作用.这里我简单说一下,如果大家一直都是用官方的app的话那是不需要重新签名的.重新签名是对官方app进行了修改(如icon.图片.代码等 ...

  5. 安装Win7时删除系统保留的100M隐藏分区

    原创文章,作者:lenbs,如若转载,请注明出处:https://www.smbinn.com/delwindows7100m.html 安装windows7新建磁盘分区时系统会自动创建100M的保留 ...

  6. MAC升级openssl

    Mac OSX EI Capitan 10.11.6升级自带Openssl - 简书 Mac10.11升级安装openssl _ 刘春桂的博客 openssl_openssl_ TLS_SSL and ...

  7. 大数据分析系统Hadoop的13个开源工具

    Hadoop是由Apache基金会开发的一个大数据分布式系统基础架构,最早版本是2003年原Yahoo!DougCutting根据Google发布的学术论文研究而来. 用户可以在不了解分布式底层细节的 ...

  8. Leetcode---栈系列刷题(python3实现)----#20有效的括号

    给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效. 有效字符串需满足: 左括号必须用相同类型的右括号闭合. 左括号必须以正确的顺序闭合. 注意空字符串可被认 ...

  9. 有限差分法解矩形波导内场值、截止频率 MATLAB

    利用有限差分法,解矩形波导内场解和截止频率: 这里以解TM11模为例,利用双重迭代法,每4次场值,更新一次Kc: %% % 求矩形波导中TM11模 截面内场分布.截止频率kc和特性阻抗Zc % // ...

  10. 鼠标移动在屏幕上显示温度Tip提示功能-CToolTipCtrl类的使用

    初学VC++,太多知识不懂,需要不断的查找资料,想通过记录让自己有所积累,主要是怕以后会很快忘记.最近在做一个在屏幕上显示鼠标移动位置的温度值,我利用先缓存一帧图像的温度值,然后,通过鼠标移动消息相应 ...