(小白)学习记录---计算机网络学习---应用层摘要

1.1 网络应用层内容概述


应用层

一、网络应用体系结构(C/S、P2P、混合)
二、网络应用的服务需求(可靠性、时延、带宽)
三、Internet传输层服务模型(TCP、UDP)
四、特定网络应用及协议(HTTP|SMTP、POP、IMAP|DNS|P2P)
五、Socket编程

1.2 网络应用的基本原理


网络应用体系结构

一、网络应用有哪些特点?(较单机应用、体系结构)
二、网络体系结构
  1. 客户机/服务器结构(特点?典型应用?)
    . 客户机?服务器?
  2. 纯P2P结构
    . 没有永远在线的服务器
  3. 混合结构
    典型应用:Mapster
    . 文件传输使用P2P结构
    . 文件搜索采用C/S结构——集中式

网络应用进程通信

一、网络应用的基础:进程间通信
  1. 进程?
  2. 同一主机上运行的进程之间如何通信?
  3. 不同主机上运行的进程间如何通信?
二、套接字:socket(操作系统提供的关于网络方面的API)
  1. 进程间通信利用Socket发送/接收消息实现
  2. 类似于寄信
  3. 传输基础设施向进程提供API
三、如何寻址进程
  1. 不同主机上的进程间通信,那么每个进程必须拥有标识符
  2. 如何寻址主机?——IP地址
  3. 同一主机上可能同时有多个进程需要通信——端口号
  4. 进程的标识符:IP地址:端口号
四、应用层协议
  1. 网络应用需遵循应用层协议
  2. 公开协议
    . 由RFC(Request For Comments)定义
    . 允许互操作
    . HTTP、SMTP…
  3. 私有协议
    . 多数P2P文件共享应用
五、应用层协议的内容
  1. 消息的类型(请求、响应)
  2. 消息的语法(syntax)/格式
  3. 字段的语义(semantics)
  4. 规则(rules)

网络应用的需求与传输层服务

一、网络应用对传输服务的需求
  1. 数据丢失/可靠性(网络电话vs网上银行)
  2. 时间/延迟(网络电话&网络游戏)
  3. 带宽(网络视频vs文件下载)
二、Internet提供的传输服务
  • TCP服务 vs UDP服务
    . 连接?可靠性?流量控制?拥塞控制?时间保障?最小带宽保障?

1.3 web应用


web应用概述

一、web与HTTP
  • world wide web
  • 网页(web page)包含多个对象(objects)
    . 对象?
    . 基本HTML文件?
  • 对象的寻址——URL(统一资源定位器)
    Scheme://host:post/path
二、HTTP协议概述
  • 万维网应用遵守什么协议?——HTTP(超文本传输协议)
  • C/S结构(C和S的角色是怎样的?)
  • HTTP版本
  • 使用TCP传输服务(使用过程?)
  • 无状态协议(stateless)
    . 服务器不维护(不记录)任何有关客户端过去行为(过去所发请求消息)

HTTP连接类型

一、HTTP连接
  • HTTP连接的两种类型
    非持久性连接 :每个TCP连接最多允许传输一个对象
    持久性连接:每个TCP连接允许传输多个对象
  • 非持久性连接过程?
  • 响应时间分析与建模
    . RTT(Round Trip Time):从客户端发送一个很小的数据包到服务器并返回所经历的时间(消息一去一回的时间)
    . 响应时间(Response Time):总 = 2RTT + 文件传输时间
  • 持久性HTTP
    . 非持久性连接的问题?
    . 浏览器在非持久性情况下想快速获取网页怎么做?
    . 无流水(pipelining)的持久性连接
    客户端只有收到一个响应后才发送新请求
    . 带有流水机制的持久性连接
    客户端只要遇到一个引用对象就尽快发出请求

HTTP消息格式

一、HTTP请求消息
  • HTTP协议有两类消息(请求、响应)
  • 请求消息
  • HTTP请求消息的通用格式
  • 上传输入的方法(eg.用户名 密码)
    . POST方法
    . URL方法 (使用GET方法)
  • 方法的类型(GET、POST、HEAD || PUT、DELETE)
二、HTTP响应消息
  • HTTP响应状态代码(eg.200、400、404)

Cookie技术

一、为什么需要Cookie?
  • HTTP协议无状态(网上购物、记住密码?)
二、Cookie技术
  • 某些网站为了辨别用户身份进行session跟踪而储存在用户本地终端上的数据(通常经过加密)
  • Cookie的组件
  • Cookie原理(eg.访问一个从来没有访问过的网站)
  • Cookie作用(身份认证、购物车、推荐、Web Mail)

web缓存/代理服务器技术

  • 功能?为什么发明这种技术?(性能)
  • 如何实现?(缓存既充当客户端又充当服务器)
  • 局域网内部性能分析?
  • 缺点?如何解决?
    . 数据版本一致性
    . 条件性GET方法

1.4 Email应用


Email应用概述

一、Email应用的构成
  • Email应用的构成组件
    邮件客户端
    邮件服务器
    SMTP协议(Simple Mail Transfer Protocol)
  • 邮件客户端(读写Email消息、与服务器交互收发Email消息)
  • 邮件服务器
    邮箱:存储发给该用户的Email
    消息队列:存储等待发送的Email
  • SMTP
    邮件服务器之间传递消息使用的协议
二、SMTP协议
  • 使用TCP进行Email消息的可靠传输
  • 端口25
  • 传输过程的三个阶段
  • 命令/响应交互模式
  • Email消息只能包含7位ASCII码
三、Email应用实例 (异步应用)
四、SMTP 与 HTTP对比
  • 使用持久性连接(SMTP)
  • HTTP:拉式(把网页拉回) 、每个对象封装在独立的响应消息中
    SMTP:推式、多个对象在由多个部分构成的消息中发送
  • 都使用命令/响应交互模式、命令和状态代码都是ACII码

Email消息格式与POP协议

一、Email消息格式
  • SMTP:Email消息的传输/交换协议
  • RFC822:文本消息格式标准
    头部行
    消息体
二、多媒体扩展(二进制)
  • MIME:多媒体邮件扩展
    通过在邮件的头部增加额外的行以声明MIME的内容类型
三、邮件访问协议(从服务器获取邮件)

POP(邮局协议) & IMAP(交互式邮件存取协议) & HTTP

四、POP协议
  • 认证过程:
    客户端命令(User、Pass)、服务器响应(+OK、-ERR)
  • 事务阶段 (List/Retr/Dele/Quit)
  • “下载并删除”模式
  • “下载并保持”模式
  • POP3是无状态的
五、IMAP协议
  • 所有消息统一保存在一个地方:服务器
  • 允许用户利用文件夹组织消息
  • IMAP支持跨会话的用户状态
六、POP3 vs IMAP

POP3:协议允许电子邮件客户端下载邮件服务器上的邮件,但是在客户端的操作不会反馈到服务器上
IMAP:提供了web mail与电子邮件客户端之间的双向通信,客户端操作都会反馈到服务器上,客户端与邮箱更新同步

更详尽解释:请点击此处

1.5 DNS应用(UDP)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C语言是一种广泛使用的编程语言,它具有高效、灵活、可移植性强等特点,被广泛应用于操作系统、嵌入式系统、数据库、编译器等领域的开发。C语言的基本语法包括变量、数据类型、运算符、控制结构(如if语句、循环语句等)、函数、指针等。下面详细介绍C语言的基本概念和语法。 1. 变量和数据类型 在C语言中,变量用于存储数据,数据类型用于定义变量的类型和范围。C语言支持多种数据类型,包括基本数据类型(如int、float、char等)和复合数据类型(如结构体、联合等)。 2. 运算符 C语言中常用的运算符包括算术运算符(如+、、、/等)、关系运算符(如==、!=、、=、<、<=等)、逻辑运算符(如&&、||、!等)。此外,还有位运算符(如&、|、^等)和指针运算符(如、等)。 3. 控制结构 C语言中常用的控制结构包括if语句、循环语句(如for、while等)和switch语句。通过这些控制结构,可以实现程序的分支、循环和多路选择等功能。 4. 函数 函数是C语言中用于封装代码的单元,可以实现代码的复用和模块化。C语言中定义函数使用关键字“void”或返回值类型(如int、float等),并通过“{”和“}”括起来的代码块来实现函数的功能。 5. 指针 指针是C语言中用于存储变量地址的变量。通过指针,可以实现对内存的间接访问和修改。C语言中定义指针使用星号()符号,指向数组、字符串和结构体等数据结构时,还需要注意数组名和字符串常量的特殊性质。 6. 数组和字符串 数组是C语言中用于存储同类型数据的结构,可以通过索引访问和修改数组中的元素。字符串是C语言中用于存储文本数据的特殊类型,通常以字符串常量的形式出现,用双引号("...")括起来,末尾自动添加'\0'字符。 7. 结构体和联合 结构体和联合是C语言中用于存储不同类型数据的复合数据类型。结构体由多个成员组成,每个成员可以是不同的数据类型;联合由多个变量组成,它们共用同一块内存空间。通过结构体和联合,可以实现数据的封装和抽象。 8. 文件操作 C语言中通过文件操作函数(如fopen、fclose、fread、fwrite等)实现对文件的读写操作。文件操作函数通常返回文件指针,用于表示打开的文件。通过文件指针,可以进行文件的定位、读写等操作。 总之,C语言是一种功能强大、灵活高效的编程语言,广泛应用于各种领域。掌握C语言的基本语法和数据结构,可以为编程学习和实践打下坚实的基础。
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。
C语言是一种广泛使用的编程语言,它具有高效、灵活、可移植性强等特点,被广泛应用于操作系统、嵌入式系统、数据库、编译器等领域的开发。C语言的基本语法包括变量、数据类型、运算符、控制结构(如if语句、循环语句等)、函数、指针等。下面详细介绍C语言的基本概念和语法。 1. 变量和数据类型 在C语言中,变量用于存储数据,数据类型用于定义变量的类型和范围。C语言支持多种数据类型,包括基本数据类型(如int、float、char等)和复合数据类型(如结构体、联合等)。 2. 运算符 C语言中常用的运算符包括算术运算符(如+、、、/等)、关系运算符(如==、!=、、=、<、<=等)、逻辑运算符(如&&、||、!等)。此外,还有位运算符(如&、|、^等)和指针运算符(如、等)。 3. 控制结构 C语言中常用的控制结构包括if语句、循环语句(如for、while等)和switch语句。通过这些控制结构,可以实现程序的分支、循环和多路选择等功能。 4. 函数 函数是C语言中用于封装代码的单元,可以实现代码的复用和模块化。C语言中定义函数使用关键字“void”或返回值类型(如int、float等),并通过“{”和“}”括起来的代码块来实现函数的功能。 5. 指针 指针是C语言中用于存储变量地址的变量。通过指针,可以实现对内存的间接访问和修改。C语言中定义指针使用星号()符号,指向数组、字符串和结构体等数据结构时,还需要注意数组名和字符串常量的特殊性质。 6. 数组和字符串 数组是C语言中用于存储同类型数据的结构,可以通过索引访问和修改数组中的元素。字符串是C语言中用于存储文本数据的特殊类型,通常以字符串常量的形式出现,用双引号("...")括起来,末尾自动添加'\0'字符。 7. 结构体和联合 结构体和联合是C语言中用于存储不同类型数据的复合数据类型。结构体由多个成员组成,每个成员可以是不同的数据类型;联合由多个变量组成,它们共用同一块内存空间。通过结构体和联合,可以实现数据的封装和抽象。 8. 文件操作 C语言中通过文件操作函数(如fopen、fclose、fread、fwrite等)实现对文件的读写操作。文件操作函数通常返回文件指针,用于表示打开的文件。通过文件指针,可以进行文件的定位、读写等操作。 总之,C语言是一种功能强大、灵活高效的编程语言,广泛应用于各种领域。掌握C语言的基本语法和数据结构,可以为编程学习和实践打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值