计算机网络---应用层

应用层概述

应用层为应用程序的通信提供服务。
应用层协议定义:
应用进程交换的报文类型,请求还是响应?
各种报文类型的语法、语义
进程何时、如何发送报文,以及对报文进行响应的规则(同步)。
应用层功能及协议:
域名服务: DNS
文件传输: FTP
电子邮件: SMTP、POP3
远程登陆: TELNET
WWW服务: HTTP
两种模式:
Client/Server模式
P2P模式

Client/Server

服务器:提供网络服务的设备(由硬件和服务软件组成)
永久提供服务
有久性访问地址/域名
客户机:请求服务的主机
与服务器通信,使用服务器提供的服务
间歇性接入网络
可能使用动态IP地址
不与其他客户直接通信

P2P

不存在永远在线的服务器
每个主机既可提供服务,也可以请求服务
任意端系统/节点之间可以直接通讯
节点间歇性接入网络
节点可能改变IP地址
可扩展性好
网络健状性好

DNS
为什么需要域名系统

互联网上的两台主机间的通信基本前提:
双方需要知道对方的IP地址; .
双方需要知道对方通信的应用进程(端口号)
现实中找某个人也是如此: .
这个人在哪里?
这个人叫什么名字?
保密单位使用信箱
作为通信地址
数字适合于机器
名字适合于人类
解决办法:
给互联网的主机取一个唯一的名字
点分十进制的IP地址不容易记住而使用域名
类似人们的身份证号码不易记住而使用姓名

域名系统概述

互联网早期是通过共享个文本文件的方式,让主机知道IP地址与名字(域名)的对关系。
有新主机加入互联网,在该文件中新增加一条域名与IP对应关系的记录。
随着互联网规模迅速扩大,这种方式的时效性太差。
该文件现在还在使用:
Windows: c:/Windows/System32/Drives/etc/hosts
Linux (Ubuntu) :/etc/hosts
文件内容格式:
127.0.0.1
localhost
202.193.XXX.XXX
ubuntu1604
DNS域名系统解决了共享文件方式中的问题

域名系统概述

互联网采用层次结构的命名树作为主机的名字。
使用分布式的域名系统DNS。
名字到IP地址的解析是由若千个域名服务器程序完成的。
域名服务器程序在专设的结点上运行。
运行该程序的机器称为域名服务器。

互联网的域名结构

互联网采用了层次树状结构的命名方法。
任何一个连接在互联网上的主机或路由器,都有一个唯一的层次结构的名字, 即域名。
域名的结构由标号序列组成,各标号之间用点隔开:
…三级域名.二级域名.顶级域名
各标号分别代表不同级别的域名。
域名只是个逻辑概念,并不代表计算机所在的物理地点。

域名服务器

一个服务器所负责管辖的(或有权限的)范围叫做区(zone)。
各单位根据具体情况来划分自己管辖范围的区。但在一个区中的所有节点必须是能够连通的。
每一个区设置相应的权限域名服务器,用来保存该区中的所有主机的域名到IP地址的映射。
DNS服务器的管辖范围不是以”域”为单位,而是以"区”为单位。

万维网
万维网概述

万维网www (World Wide Web)并非某种特殊的计算机网络,它是无数个网络站点和网页的集合,是一个大规模的、联机式的信息储藏所。它们在一起构成了因特网最主要的部分(因特网也包括电子邮件、Usenet以及新闻组)。它实际.上是多媒体的集合,是由超级链接连接而成的。万维网是分布式超媒体(hypermedia)系统,它是超文本(hypertext)系统的扩充。
一个超文本由多个信息源链接成。利用一个链接可使用户找到另一个文档。超媒体与超文本的区别:超文本文档仅包含文本信息,超媒体文档还包含其他表示方式的信息,如图形、图像、声音、动画,甚至活动视频图像。

万维网的工作方式

万维网以客户/服务器方式工作。
浏览器是用户计算机上的万维网客户程序。
万维网文档所驻留的计算机则运行服务器程序,万维网服务器。
客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所要的万维网文档。
在一个客户程序主窗口上显示出的万维网文档称为页面(page)。

万维网必须解决的问题

1.如何标志分布在整个互联网上的万维网文档?
使用统一资源定位符URL来标志万维网。上的各种文档。
使每一个文档在整个互联网的范围内具有唯- -的标识符URL。
2.用什么协议实现万维网上各种超链的链接?
超文本传送协议HTTP (HyperText Transfer Protocol)。
HTTP是-个应用层协议,它使用TCP连接进行可靠的传送。
3.万维网文档如何在互联网上的各种计算机.上显示出来,并能清楚地标明超链?
超文本标记语言HTML能使得万维网页面的设计者用一个超链从本页面的某处链接到互联网上的任何-个万维网页面,并且能够在自己的计算机屏幕.上将这些页面显示出来。
4.用户如何查找所需的信息?
各种的搜索工具(即搜索引擎)

统一资源定位符URL

资源定位符URL是对可以从互联网.上得到的资源的位置和访问方法的一种简洁表示。
URL给资源的位置提供-种抽象的识别方法,并用这种方法给资源定位。只要能够对资源定位,系统就可以对资源进行各种操作,如存取、更新、
替换和查找其属性。
URL相当于一个文件名在网络范围的扩展。因此URL是与互联网相连的机器上的任何可访问对象的一个指针。

URL的一般形式

由以冒号隔开的两大部分组成,并且在URL中的字符对大写或小写没有要求。
URL的一般形式是(例如: http://www.baidu.com:80/index.html) :
<协议>://<主机>:<端口>/<路径>
ftp: 文件传送协议FTP
http:超文本传送协议HTTP
https:以安全为目标的HTTP通道
news: USENET新闻

WWW的工作流程

每个WWW服务器运行服务器进程,该进程采用TCP协议,监听TCP80端口,不断检测是否有浏览器向它发出连接建立请求。
一旦监听到连接建立请求并建立了TCP连接之后,客户端浏览器就向万维网服务器发出浏览某个页面的请求,服务器接着就返回所请求的页面作为响应。
最后,TCP连接就被释放了。
在浏览器和服务器之间的请求和响应的交互,必须按照规定的格式和遵循一定的规则。这些格式和规则就是超文本传送协议HTTP。
HTTP规定在HTTP客户与HTTP服务器之间的每次交互,都由一个ASCII码串构成的请求和响应组成。
HTTP报文通常都使用TCP连接传送。

HTTP的特点

HTTP使用了面向连接的TCP作为运输层协议,保证了数据的可靠传输。
HTTP协议本身也是无连接的,虽然它使用了面向连接的TCP向上提供的服务。
HTTP是面向事务的客户服务器协议。
中HTTP 1.0协议是无状态的(stateless)。

HTTP协议本身是无连接的

无连接的含义:限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
原因:早期每个客户端与服务器之间交换数据的间歇性较大(即传输具有突发性、瞬时性),并且网页浏览的联想性、发散性导致两次传送的数据关联性很低,大部分通道实际.上会很空闲、无端占用资源。
现在:网页很复杂,嵌入了很多图片,这时候每次访问图片都需要建立一次TCP连接就显得很低效。
解决办法: Keep-Alive被提出用来解决这效率低的问题。

HTTP是无状态的

无状态:指协议对于事务处理没有记忆能力,服务器不知道客户端是什么状态。即我们给服务器发送HTTP请求之后,服务器根据请求,会给我们发送数据过来,但是,发送完,不会记录任何信息。
每个HTTP请求都是独立的,Keep-Alive 没能改变这个结果。
如果后续处理需要前面的信息,则必须重传。
优点与缺点:优点减轻了服务器负荷。缺点每次请求可能会传输重复的内容。无状态的特点严重阻碍了客户端与服务器进行动态交互的Web应用程序,例如购物车程序。
解决办法:== Cookie和 Session。==

在服务器上存放用户的信息

◆万维网站点可以使用Cookie来踉踪用户。
◆Cookie表示在HTTP服务器和客户之间传递的状态信息。
◆使用Cookie的网站服务器为用户产生一个唯- -的识别码。利用此识别码,网站就能够跟踪该用户在该网站的活动。
Cookie会被附加在每个HTTP请求中,所以无形中增加了流量。
由于在HTTP请求中的Cookie是明文传递的,所以安全性成问题。(除非用HTTPS)
Cookie的大小限制在4KB左右。对于复杂的存储需求来说是不够用的。

HTTP是面向事务的

浏览器访问www.baidu.com完整的HTTP事务过程: 中
客户发出http请求
服务器响应http请求
浏览器得到html代码
浏览器解析html代码,并请求html代码中的资源 (如js、 css、 图片等)
浏览器对页面进行渲染呈现给用户

代理服务器

代理服务器(proxy server)又称为万维网高速缓存(Web cache),它代表浏览器发出HTTP请求。
万维网高速缓存把最近的一些请求和响应暂存在本地磁盘中。
当与暂时存放的请求相同的新请求到达时,万维网高速缓存就把暂存的响应发送出去,而不需要按URL的地址再去互联网访问该资源。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值