• 第二章 网络应用


    第一节 计算机网络应用体系结构

    三种类型
    1. 客户/服务器(c/s)结构

    主要的特征是通信只在客户与服务器之间进行,客户与客户之间不进行直接通信。

    2. P2P(Peer to Peer) 结构

    每个对等端都同时具备C/S应用的客户与服务器的特征,是一个服务器与客户的结合体,对等端之间直接通信。

    3. 混合结构

    既有中心服务器的存在,又有对等端(客户)间的直接通信。

    第二节 网络应用通信基本原理

    C/S通信基本原理:

    服务器端运行的是服务器进程,被动地等待客户请求服务;客户端运行的是客户进程,主动发起通信,请求服务器进程提供服务。应用进程间遵循应用层协议交换应用层报文

    第三节 域名系统(DNS)

    层次树状结构的命名方法:
    1. 国家顶级域名nTLD; ---- cn
    2. 通用定义域名gTLD; ----- com net org edu gov
    3. 基础结构域名。

    *优点:便于分布式查询,存储和管理

    二、 域名服务器
    1. 域名解析

    将域名映射为IP地址的过程。

    2. 域名服务器

    为了实现域名解析,需要建立分布式数据库,存储网络中域名与IP地址的映射关系数,这些数据库存储再域名服务器上,域名服务器根据用户的请求提供域名解析服务。

    分布式数据库: 是指多台域名服务器, 并且服务器之间相互合作

    3. 域名服务器分类:
    - 根域名服务器: 全球总共13台根域服务器

    大多数根域服务器都是由独立的多台物理服务器构成的服务器集群,有的根域服务器则是由分布在不同地理位置的多台镜像服务器组成的.

    • 顶级域名服务器

    • 权限域名服务器

    • 本地域名服务器

    三 域名解析过程
    1. 递归查询:

    代替查询主机或其他域名服务器,进行进一步的域名查询,并将最终解析结果发送给查询主机或服务器.

    缺点: 若数据量大,解析过程会过长,根域服务器压力大

    2. 迭代查询

    只是将下一步要查询的服务器告知查询主机(客户端)或服务器.

    优点: 根域服务器压力减少

    第四节 万维网应用

    Web服务器

    浏览器

    超文本传输协议(HTTP)

    二、HTTP

    概念:超文本传输协议,定义浏览器如何向Web服务器发送请求以及Web服务器如何向浏览器进行响应

    版本L:HTTP/1.0和HTTP/1.1

    HTTP连接:非持久连接、持久连接

    非持久连接:

    串行方式请求每个对象都要新建立TCP连接

    缺点:耗时

    并行连接:

    并行方式请求每个对象每个建立一个TCP连接

    非流水方式持久连接:
    流水方式持久连接:

    两者都是建立一个TCP连接,传入多个对象

    HTTP报文:

    请求报文 -------- 从客户向服务器发送请求报文。

    响应报文 --------- 从服务器到客户的回答。

    HTTP请求报文: HTTP典型的请求方式有GET\HEAD\POST\OPTION\PUT等。

    1. GET:请求读取URL所标识的信息

    2. HEAD:请求读取由URL所标识的信息首部,无须在响应报文中包含对象。

    3. POST:给服务器添加信息

    4. OPTION:给服务器添加一些选项的信息

    5. PUT:在指明的URL下存储一个文档

    HTTP响应报文:

    HTTP状态码分类:

    三、Cookie:

    Cookie中文名称为小文件文本文件,指某些网站为了辨别用户身份、进行会话跟踪而存储在用户本地终端上的数据。

    弥补了HTTP协议无状态性的不足,有利于进行用户跟踪并提供针对性的服务,但也带来一些安全问题。

    第五节 Internet电子邮件

    一、电子邮件系统结构

    电子邮件系统主要包括邮件服务器、简单邮件传输协议(STMP)、用户代理和邮件读取协议等。

    二、SMTP:

    SMTP是internet电子邮件中核心应用层协议,实现邮件服务器之间或用户代理到邮件服务器之间的邮件传输。SMTP使用传输层TCP实现可靠数据传输,端口号25. SMTP通过3个阶段的应用层交互完成邮件的传输,分别是握手阶段邮件传输阶段关闭阶段

    SMTP的基本交互方式是SMTP客户端发送命令,命令后面可能携带参数,SMTP服务器对命令进行应答。

    三、电子邮件格式与MIME
    1. 电子邮件包括首部、空白行、主体三部分。

    To、Subject、Cc、From、Date、Replay-To等关键词。

    1. MIME(多用途互联网邮件扩展)

    将非7为ASCII码文本内容转化为7为ASCII码文本内容,然后在利用SMTP进行传输

    在邮件首部增加MIME首部行,说明主题内容原本的数据类型以及采用的编码标准等

    四、邮件读取协议
    1. 第三版邮局协议(pop3)

    客户端把邮件下载下来,对邮件进行操作

    是本地进行的

    不需要网络

    1. 互联网邮件访问协议(IMAP)

    通过互联网来操作邮件

    需要网络

    1. HTTP

    不需要依赖邮件客户端软件,只需要浏览器即可

    第六节 FTP

    文件传送协议(FTP):在互联网的两个主句间实现文件互传的应用层协议

    C/S模式。采用控制连接(21端口)传输控制命令,数据连接(20端口)传输文件内容。

    第七节 P2P应用

    一、P2P应用的优势:

    充分聚集利用了端系统(对等方主机)的计算能力以及网络传入带宽,对服务器的依赖性小。

    适合大用户量的,大数据量的系统

    第八节 Socket编程基础

    Socket接口模型:

    网络应用进程通信时需要通过API接口请求底层协议的服务。可以创建数据报类型套接字SOCK_DGRAM流式套接字SOCK_STREAM原始套接字SOCK_RAW

    UDP:不可靠,高速的 SOCK_DGRAM

    TCP:可靠的,效率高的,稳定的 SOCK_STREAM

    SOCK_RAW:直接调用网络层服务,不在依赖传输层的服务

    基于TCP的Socket编程

    客户端不创建特定端口,通过socket来创建临时接口

    基于UDP的Socket编程

  • 相关阅读:
    【Java实战】创建第一个Springboot项目Hello world
    SpringBoot 26 分布式和RPC
    Selenium基础 — POM设计模式(一)
    Oracle、MySQL等数据库故障处理优质文章分享 | 10月文章汇总
    《Effective Java》
    图解LeetCode——1752. 检查数组是否经排序和轮转得到(难度:简单)
    Rockchip Android平台常用调试命令汇总
    【用unity实现100个游戏之16】Unity中程序化生成的2D地牢4(附项目源码)
    【安卓】在安卓中使用HTTP协议的最佳实践
    卷王问卷考试系统SurveyKing,开源调查问卷和考试系统源码
  • 原文地址:https://blog.csdn.net/Miketutu/article/details/132791663