网络应用技术
一. 网络应用概述
-
网络应用
- 是直接面向计算机网络的用户,遵循相应的网络应用协议,为用户提供某个特定的网络服务或功能的一套完整的软件系统
1. 客户机/服务器模式
- 客户机/服务器模式
- 在客户端发出请求,服务器等待响应
- C/S与B/S的区别
- B/S从本质上来说也属于客户机/服务器模式
- 比起C/S模式更加灵活,业务扩展简单,维护方便
2. P2P模式
- 一种特殊的C/S模式,称为对等模式
- 通信双方都可以请求服务,也可以提供服务
- 比如
- qq,文件共享软件等都是基于P2P模式的
二. Internet域名系统
1. 为什么要使用域名系统
- 数字形式的IP地址,不便于记忆
- 人们习惯用字符标识Internet上的主机
- 用户使用域名访问网络服务
- 数据包在传输过程中采用的还是IP地址进行路由和转发
- 域名系统DNS
- 在Internet中,提供将主机域名转换为IP地址服务的网络应用
- 当应用程序遇到某个域名时,可以将通过DNS将该域名对应的IP地址找到
- 并在通信过程中使用IP地址进行数据的传输
2. 域名层次空间
-
使用DNS的前提是每一台主机和路由器都要有一个唯一的名称
- 采用层次树状结构的命名
-
层次树状结构的基本思想
- 任何一个连接在因特网上的主机或路由器
- 都有一个唯一的层次结构的名称 即域名
-
域名的结构
-
由标号序列组成,各标号之间用点隔开
-
。。。.标号3(三级域名).标号2(二级域名).标号1(顶级域名)
-
例子
- 山东大学的域名为 sdu.edu.cn
- cn标号是顶级域名
- edu是二级域名
- sdu是三级域名
-
标号使用英文字符,数字和 - 组成
-
每一个标号不超过63个字符
-
整个域名不超过255字符
-
-
顶级域名分类
- 国家顶级域名nTLD
- .cn表示中国,.us表示美国
- 通用顶级域名gTLD(公司和企业)
- .net(网络服务机构).org(非营利性组织)
- .int(国际组织)
- 基础结构域名arpa
- 用于反向域名解析,又称为反向域名
- 国家顶级域名nTLD
-
整个域名结构用一个倒置的树表示
- 最顶层的是根,没有具体的域名
- 往下依次是顶级域名,二级域名…
- 二级域名用类别域名和行政域名来划分
- 由CNNIC统一管理中国互联网网络信息中心
3. 域名服务器
-
一个服务器所负责管辖的范围叫做 区
-
各单位划分自己管辖范围的区,但在一个区中的所有结点必须是能连通的
-
每一个区设置一个相应的 权限域名服务器,用来保存该区中所有主机的域名到IP地址的映射
-
-
根域名服务器
-
根域名服务器是最重要的域名服务器
-
所有的根域名服务器都知道所有全部顶级域名服务器的域名和IP地址
-
Internet上一共有13个不同IP地址的根域名服务器
-
用一个英文字母表示,从a到m(前13个字母)
-
a.rootservers.net
-
…
-
m.rootservers.net
-
-
-
顶级域名服务器
- 负责管理在该顶级域名服务器注册的所有二级域名
- 收到DNS查询请求时,就给出相应回答,或者是域名查询的结果
- 或者是应该继续查找的域名服务器的IP地址
-
权限域名服务器
- 负责一个区的域名服务器
- 保存了该区所有的主机域名到IP地址的映射
- 当一个权限域名服务器不能给出最后的查询回答时,会告诉DNS客户下一步该找哪一个权限域名服务器
-
本地域名服务器
- 当一个主机发出DNS查询请求时,这查询请求报文就发送给本地域名服务器
- 每一个因特网服务提供者ISP,或一个大学,公司都可以有一个本地域名服务器
- 称为默认域名服务器
-
域名解析过程
- 递归解析和迭代解析两种方式
- DNS进行查询采用使用的是UDP发送查询和结果报文
- 为了提高DNS查询效率并减轻域名服务器的负荷,设有高速缓存区域,用来存放最近查询过的域名
- 递归查询
- 主机向本地域名服务器的查询
- 如果主机所询问的本地域名服务器不知道被查询域名的IP地址
- 那么本地域名服务器则以DNS客户的身份向其他根域名服务器发送查询请求报文
- 迭代查询
- 本地域名服务器向根域名服务器的查询
- 当根域名服务器收到本地域名服务器的迭代查询请求报文时
- 要么给出所要查询的IP地址,要么告诉本地域名服务器,下一步应该向哪个域名服务器进行查询
-
查询过程
- m.xyz.com首先向本地域名服务器进行递归查询
- 本地域名服务器不知道y.abc.com的IP地址,所以先向根域名服务器进行迭代查询
- 根域名服务器告诉本地域名服务器,下一步应该查询顶级域名的IP地址
- 本地域名服务器向顶级域名服务器进行查询
- 顶级域名服务器告诉本地域名服务器,下一步查询权限域名服务器的IP地址
- 本地域名服务器向权限域名服务器进行查询,得到y.abc.com的IP地址
- 本地域名服务器将IP地址发送给主机
三. 文件传输协议(FTP)
- 文件传输协议FTP
- 用于用户在两台主机之间进行远距离的文件传输
- FTP提供交互式的访问,允许客户指明文件的类型与格式
- 并允许文件具有存取权限
- FTP屏蔽了各计算机系统的细节
- 适合在异构网络中的任意计算机之间传送文件
- FTP采用客户机/服务器模式
- 服务器和客户机之间通过下载和上传来实现文件的传输
- FTP使用TCP提供的可靠传输服务
- FTP主进程的工作步骤如下
- 打开熟知端口(21),使客户进程能够连接上
- 等待客户进程发出连接请求
- 启动从属进程来处理客户进程发来的请求,处理完毕即终止,从属进程运行期间可能创建其他子进程
- 回到等待状态,继续接收其他客户进程发来的请求,主进程和从属进程的处理是并发进行的
- 客户端与服务器之间建立两个并行的TCP连接
- 控制连接
- FTP客户发出的传送请求通过控制连接发送给服务器端的控制进程的熟知端口(21)
- 21端口等待连接
- 数据连接
- 服务器进程用自己传送数据的熟知端口(20)与客户进程所提供的端口号建立数据连接
- 20端口数据传输
- 控制连接
四. 电子邮件
1. 电子邮件的基本概念
-
电子邮件E-mail是Internet中使用最广泛的一种应用服务
- 可以发送文字信息,附件的形式传送文档
- 图像,音频,视频文件
-
Internet中的电子邮件系统主要由三部分构成
- 用户代理
- 电子邮件客户端软件:outlook,foxmail等
- 编辑,显示,处理,通信
- 邮件服务器
- 发送和接收邮件
- 同时向发信人报告邮件传送的情况
- 既可以作为客户,也可以作为服务器
- 邮件发送/读取协议
- 邮件发送使用SMTP协议
- 读取使用POP3协议
- 用户代理
-
TCP/IP体系下的电子邮件地址格式是
-
邮箱名@邮箱所在服务器的域名
-
电子邮件地址 lcy@163.com
- @符号表示在的意思
- lcy表示该邮箱的名称
- 163.com表示邮箱所在的服务器(域名)
-
-
电子邮件内容由首部和主体组成
- To:一个或者多个收件人的电子邮件地址,以分号分隔
- Subject:邮件主题
- Cc:给某人发送一个邮件副本
2. SMTP,POP3,IMAP 协议的基本机制
-
SMTP
-
电子邮件从用户代理发送到邮件服务器采用的是SMTP(端口号25)
-
SMTP协议规定两个互相通信的SMTP进程之间如何交换信息
-
SMTP通信概况为3个阶段
- 连接建立
- 在发送方邮件服务器和接收方邮件服务器之间建立TCP连接
- 邮件发送
- 连接释放
- 邮件发送完毕之后,SMTP释放TCP连接
- 连接建立
-
SMTP不能传送可执行文件或其他二进制对象
-
SMTP协议发送邮件不需要鉴别
- 造成垃圾邮件泛滥
-
SMTP传送的邮件是明文,没有加密,容易泄露信息
-
-
POP3
- 邮局POP是邮件读取协议,现使用第三版本POP3
- 客户机/服务器的工作模式
- POP服务器程序需要设置用户名和密码
- 只有身份鉴别正确才能从接收服务器下载邮件
- 下载到本地后,服务器会将邮件删除,无法再次读取
-
IMAP
- 网际报文存取协议,客户机/服务器工作模式
- 优点
- 可以在不同的地点,使用不同的计算机进行电子邮件的使用
- 缺点
- 如果用户不删除邮件,IMAP服务器上的邮件将会一直保留
- 对服务器存储空间的要求比较大
-
基于Web的电子邮件系统
- 发件人客户端与发送服务器之间
- 收件人客户端与接收邮件服务器之间采用http通信
五. 万维网
1. www的概念与构成
- 万维网由成千上万个网站组成的一个联机信息存储系统
- 网站上以 网页(page)的形式存储着各种文档
- 其中包含了文字,图片,声音等各种信息
- 各个网站以链接(link)的方式联系在一起
- 用户可以从一个网站转到另一个网站进行访问
- 万维网的核心内容
- 统一资源定位(URL)
- 超文本传输协议(HTTP)
- 超文本标记语言(HTML)
2 .统一资源定位URL
-
为了给Internet上的每一个文档进行标识,万维网采用统一资源定义URL的方法
- URL为Internet上的每一个万维网网页分配一个唯一的标识符
-
URL的一般格式
-
http://www.163.com:80/index.html 协议 主机 端口号 路径
-
端口号表示应用层协议使用的端口号,可以省略
-
3. HTTP
-
超文本传输协议HTTTP
- 负责用户访问万维网文档(网站),万维网文档之间的链接,以及将万维网文档中的数据传送到用户计算机
- HTTP是一个应用层协议,使用TCP连接进行可靠传送,能在万维网上进行文本,声音,图像等各种信息的交换
- HTTP工作在客户机/服务器模式下
- 分为HTTP客户端和HTTP服务器
- 双方每次进行交互,都是由客户端发出的请求和服务器端发出的响应构成
- 使用浏览器访问万维网的过程可以总结为以下几个步骤
- 用户在浏览器中输入要访问网页的URL或者单击某个网页中的链接
- 浏览器根据URL中的域名,通过DNS解析出网页的IP地址
- 浏览器与网页所在服务器建立TCP连接
- 浏览器发送HTTP请求报文,获取目标网页的文件
- 服务器发送HTTP响应报文,将目标网页文件发送给浏览器
- 释放TCP连接
- 浏览器将网页的内容显示在计算机屏幕上
- HTTP是无连接的
- 使用面向连接的TCP所提供的服务
- 无状态(服务器端不记录客户端访问的时间和次数)
- 使用的比较广泛的是HTTP1.1版本,默认使用持续连接
- 利用同一个TCP连接传输多个对象
- HTTP有两类报文
- 请求报文
- 响应报文
- HTTP报文是面向文本的
-
HTTP报文格式
-
HTTP请求报文
-
请求行
- 由方法字段,URL字段,HTTP版本字段组成
-
请求头部行
- 若干关键字组成
-
空行
- 最后一个请求头部之后是空行,发送回车符或者换行符
- 告知服务器以下不再有请求头部了
-
请求数据
- GET方法
- 不适合传输私密数据和大量数据
- POST方法
- 用于客户端向服务器端填写表单操作
- GET方法
-
POST /abdr HTTP/1.1 Host: miao.baidu.com Connection: keep-alive Content-Length: 3532 Sec-Fetch-Dest: empty User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Content-Type: text/plain;charset=UTF-8 Accept: */* Origin: https://mbd.baidu.com Sec-Fetch-Site: same-site Sec-Fetch-Mode: cors Referer: https://mbd.baidu.com/newspage/data/landingpage?s_type=news&dsp=wise&context=%7B%22nid%22%3A%22news_9389247603650230861%22%7D&pageType=1&n_type=1&p_from=-1&rec_src=52&innerIframe=1 Accept-Encoding: gzip, deflate, br Accept-Language: zh-CN,zh;q=0.9 Cookie: BIDUPSID=5DA3FFD8E201FFAB833B8E01F3DEB89C; PSTM=1590200993; BAIDUID=5DA3FFD8E201FFAB92D3C0AD65D4CDDC:FG=1;
-
以上是百度的请求报文, 可对照以下文档参考
-
https://www.cnblogs.com/loberty/p/11996304.html
-
-
HTTP响应格式
-
状态行
-
由 版本,状态码,空格,短语,回车换行组成
-
200 OK:客户端请求成功 400: 客户端请求语法错误 401: 请求未经授权 403: 服务器收到请求,但是拒绝提供访问 404: 请求资源不存在 500: 服务器发生错误 503: 服务器当前不能处理客户端请求
-
-
消息头部
- 与请求头部相似
-
空行
- 发送回车符和换行符
- 通知客户端以下不再有消息头部了
-
响应正文
- 服务器端发回的具体文档内容
-
HTTP/1.1 200 OK Access-Control-Allow-Credentials: true Access-Control-Allow-Headers: Origin, Host, Content-Type, x-requested-with, X-Custom-Header Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE Access-Control-Allow-Origin: https://mbd.baidu.com Access-Control-Max-Age: 3600 Content-Length: 299 Content-Type: text/plain; charset=utf-8 Date: Sun, 12 Jul 2020 01:17:54 GMT Set-Cookie: ab_jid=b0c0b34639c486f4903cb685b425a9ce21b5; Path=/; Domain=miao.baidu.com; Max-Age=2147483647; HttpOnly
-
-
4. Cookie和Session机制
-
HTTP是一种无状态的协议
-
一旦数据交换完毕, 客户端和服务器端的连接就会关闭
-
也就是说你今天在爱奇艺上看了电影, 下次再想看就得重新自己找
-
-
Cookie机制
- 由 W3C 组织提出的一种技术
- 成为了万维网的标准
- 所有的主流浏览器都支持Cookie
- 服务器通过Cookie可以识别,限制和跟踪用户
- Cookie的定义
- Cookie是万维网服务器在客户端保存的一段文本
- 用于保存用户访问服务器的相关消息
- Cookie中保存的信息在用户每次访问服务器中被服务器检索
- 依此来对用户进行识别和跟踪
- 会话Cookie
- 保存在内存中的Cookie
- 有效周期是浏览器窗口关闭,Cookie就消失
- 永久Cookie
- 保存在硬盘中
- 有效周期可以设置,关闭浏览器不会影响
- Cookie常见用途
- 利用Cookie的ID来准确统计实际访问人数,访问者的频率等数据
- 限制某些特定用户的访问
- 存储用户在访问过程中的操作习惯和偏好
- 记录用户登陆网站使用的用户名和密码
- 电子商务网站利用Cookie实现购物车功能
- 由 W3C 组织提出的一种技术
-
Session机制
- 万维网服务器记录用户访问状态的机制
- Session与Cookie的区别
- Session在服务器端将用户信息进行保存的
- Session的工作原理
- 当用户首次访问网站时,服务器为其创建一个唯一的Session ID
- 以Session ID为索引开辟一块数据存储空间,用于保存用户信息
- 服务器将Session ID通过HTTP响应报文返回给用户
- 用户每次访问时,请求报文中都有Session ID
- 服务器收到后对Session ID进行对比
- 传递Session ID可以采用两种方式
- 保存在客户端的Cookie中
- URL重写技术
5. HTML超文本标记语言
-
HTML是一种描述文件格式的计算机程序语言
- 通过各种标记指示浏览器以何种方式显示网页中的文本信息
-
HTML中基本标记
-
头部标记
-
<head> </head>
-
-
文件标题
-
<title> </title>
-
-
主体标记
-
<body> </body>
-
-
标题
-
<hn> </hn>
-
-
段落
-
<p>
-
-
预格式化标记
-
<pre> </pre>
-
-
行中断标记
-
<br>
-
-
超文本链接
-
<a> </a>
-
-
-
XML
- 可扩展标记语言XML
- 基于SGML语言设计出来的
- 开发人员可以根据自己的需要定义标记,只需要满足命名规则即可
- 克服了HTML语言只有固定标记的缺点,有利于数据交换
- 使用XML来确定数据的格式和数据之间的关系,不受应用程序和操作系统的限制
六. 电子商务应用
1. 电子商务的类型
-
按照交易对象分类
-
B2C
- 企业与消费者,面向直接消费者销售电器,日用百货等
- 京东,天猫等
-
B2B
- 非特定企业间与特定企业间的电子商务
- 阿里巴巴网
-
C2C
- 个人与个人之间
- 进行交易的双方都是个人或者小商户
- 类型更加丰富,交易方式灵活
- 淘宝网
-
O2O
-
将线下商机与Internet相结合
-
滴滴出行,美团,大众点评
-
-
-
按照商务活动内容分类
- 间接电子商务
- 货物还需要提供快递到达用户手中
- 直接电子商务
- 无形货物的交易
- 电子图书,电影,音乐的购买,支付和下载
- 间接电子商务
2. 电子商务过程的3个阶段
- 交易前
- 卖方制定各种销售策略和方式
- 买方比较商品性能,价格等
- 交易中
- 双方认可交易的各项权利和义务
- 买方进行支付,卖方开始发货
- 交易后
- 卖方发票,买方收到货,交易完成
3. 电子商务的主要功能
- 企业业务组织
- 信息发布和广告宣传
- 咨询洽谈
- 在线选购
- 网上支付
- 交易管理
- 数据统计与挖掘
4. 电子商务系统的一般结构
-
网络平台
- 各种基础网络硬件设备构成Internet环境
-
信息传输平台
- 万维网
- 移动app
-
电子商务平台
- 实现业务的软硬件设备
- 包括数据库服务器,安全服务器等
-
电子商务应用系统
- 视频网站,在线教育等
-
技术标准和法律法规
- 保障电子商务活动的安全性
-
典型的电子商务系统由以下实体构成
- 客户
- 个人客户和企业客户
- 供货方
- 生产企业,批发商
- 支付机构
- 银行,第三方支付平台
- 认证中心
- 身份认证,信用认证
- 销售中心
- 网上商城,网店
- 配送中心
- 快递物流
- 客户