408计网应用层总结

news2024/11/16 13:48:06

网络应用模型

    ■客户/服务器模型(C/S):客户是服务请求方,服务器是服务提供方
    ■P2P模型:各主机都是客户,也都是服务器(任意一对计算机成称为对等方)

注:
    1.客户端必须提前知道服务器的地址 ,而服务器不需要提前知道客户端的地址
    2.客户端主要实现如何显示信息与收集用户的输入,而服务器主要实现数据的处理 
    3.浏览器显示的内容来自服务器 
    4.客户端是请求方,连接建立后,服务器可以主动发送数据(如:错误通知)
    5.P2P网络是指在互联网中由对等结点组成的一种覆盖网络( Overlay Network ),是一种动态的逻辑网络,不是物理网络。
    6.在向多个用户发送一个文件的时候,P2P模型通常比C/S模型所需时间短
 

域名系统DNS

层次域名空间
    ●顶级域名(.com)
    ●二级域名(baidu)
    ●三级域名(www)

域名服务器
    1.根域名服务器(所有的根域名服务器都知道顶级域名服务器的IP地址)
    2.顶级域名服务器
    3.权限域名服务器
    4.本地域名服务器

域名解析过程
    ●递归查询(实际中几乎不用)
    ●递归与迭代相结合的查询

注:
    1.多个MAC地址,IP地址,主机都可以对应一个域名
    2.Internet上提供的主机一定要有IP地址,不一定要有域名
    3.在域名解析过程中,主机上请求域名解析的软件需要知道本地域名服务器的 IP。(正常情况下,客户机只需把域名解析请求发往本地域名服务器,其他事情都由本地域名服务器完成,并把最后结果返回给客户机。所以主机只需要知道本地服务器的IP)
    4.每台主机都必须在授权域名服务器处注册登记,授权域名服务器一定能够将其管辖的主机名转换为该主机的 IP 地址。
    5.DNS采用UDP来传输数据, UDP 是一种面向无连接的协议

文本传输协议(FTP)

FTP
    ●控制连接(21)
    ●数据连接(20)
 

注:
    1.控制连接使用 TCP 的21号端口,数据连接使用 TCP 的20号端口
    2.客户进程的端口号是客户进程自己提供的
    3.http使用80端口号,SMTP使用25端口号
    4.允许客户指名文件的类型与格式
    5.FTP 服务器的数据要经过应用层、传输层、网络层、数据链路层及物理层,对应的就是数据、数据段、数据报、数据帧、比特。
    6.FTP 客户和服务器间传递 FTP 命令时,使用的连接是:建立在 TCP 之上的控制连接
    7.控制连接存在于整个 FTP 会话过程中,数据连接在每次文件传输时才建立,传输结束就关闭。

电子邮件

电子邮件的格式:用户名@邮箱所在主机的域名(5211314@163.com)

SMTP:C/S处理方式,使用的是TCP连接,端口号是25
    ●连接建立
    ●邮件传送
    ●连接释放

POP3和IMAP:
    ●POP3是C/S,TCP,端口号为110
    ●POP3是有连接可靠的数据传输

注:
    1.随着万维网的流行,用户浏览器与 Hotmail 或 Gmail 的邮件服务器之间的邮件发送或接收使用的是 HTTP (如aba@163.com),而仅在不同邮件服务器之间传送邮件时才使用 SMTP 。
    2.SMTP只能传输一定长度的ASCII码邮件,只支持传输7比特的ASCII码内容
    3.POP3协议基于 ASCII 码,如果要传输非 ACSII 码的数据,那么要使用 MIME 将数据转换成 ASCII 码形式。
    4.MIME(多用途网际邮件扩充)可以传输文字,语音,图像和视频等多种信息
    5.POP3协议在传输层是使用明文来传输密码的,并不对密码进行加密
 

万维网

万维网的内核由三个部分:
    ●统一资源定位符(URL)
    ●超文本传输协议(HTTP)
    ●超文本标记语言(HTML)

URL:
URL格式:<协议>://<主机>:<端口>/<路径>
如:https://yzb.cust.edu.cn/ssszs/index.htm

HTTP的特点:
    ●HTTP 使用 TCP 作为传输层协议,保证了数据的可靠传输。
    ● HTTP 不必考虑数据在传输过程中被丢弃后又怎样被重传。
    ●HTTP 本身是无连接的。
    ●虽然 HTTP 使用了 TCP 连接,但通信的双方在交换 HTTP 报文之前不需要先建立 HTTP 连接。 
    ●HTTP 是无状态的。服务器并不记得曾经访问过的这个客户,也不记得为该客户曾经服务过多少次。
    ●即可以非持久连接,也可以持久连接
 

import requests	# 导入requests模块
url = 'http://www.baidu.com/s?wd=你是我的神'
headers = {
        'Content-Type': 'text/html;charset=utf-8',
        'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36'
    }
r = requests.get(url,headers=headers)
print(r.headers)

HTTP的报文结构
    ●请求报文
    ●响应报文

 

注:
    1.可以在 HTTP 中使用 Cookie 保存 HTTP 服务器和客户之间传递的状态信息
    2.Cookie由服务器产生,储存在用户主机中的文本文件
    3.Connection :连接方式, Close 表明为非持续连接方式, keep-alive 表示持续连接方式。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1060508.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

linux入门---信号的保存和捕捉

目录标题 信号的一些概念信号的保存pending表block表handler表 信号的捕捉内核态和用户态信号的捕捉 信号的一些概念 1.进程会收到各种各样的信号,那么程序对该信号进行实际处理的动作叫做信号的递达。 2.我们之前说过当进程收到信号的时候可能并不会立即处理这个信…

DevEco Studio设置Nodejs提示路径只能包含英文、数字、下划线等

安装DevEco Studio 3.1.1 Release 设置Nodejs路径使用nodejs默认安装路径 (C:\Program Files\nodejs) 提示只能包含英文、数字、下划线等 , 不想在安装nodejs请往下看 nodejs默认路径报错 修改配置文件 1、退出DevEco Studio 2、打开配置文件 cmd控制台…

Linux高性能服务器编程 学习笔记 第十章 信号

信号是由用户、系统、进程发送给目标进程的信息,以通知目标进程某个状态的改变或系统异常。Linux信号可由以下条件产生: 1.对于前台进程,用户可通过输入特殊终端字符来给它发送信号,如输入CtrlC通常会给进程发送一个中断信号。 2…

最短路径专题5 最短路径

题目: 样例: 输入 4 5 0 2 0 1 2 0 2 5 0 3 1 1 2 2 3 2 2 输出 3 0->3->2 思路: 根据题目意思,求最短路,这个根据平时的Dijkstra(堆优化)即可,关键在于求路径的方法&#x…

阿里云新账户什么意思?老用户、产品首购详细说明

阿里云新账户、老账号、产品首购和同人账号什么意思?阿里云账号分为云新账户、老账户、产品首购、同人账号和同一用户,阿里云官方推出的活动很多是限制账号类型的,常见的如阿里云新用户,什么是阿里云新用户?是指从未在…

mysql面试题11:讲一讲MySQL主从复制模式

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:讲一讲MySQL主从复制模式? MySQL主从复制的配置步骤如下: 在主服务器上配置: 打开主服务器的配置文件my.cnf,启用二进制日志(binary log)功…

【Linux】[gdb]Linux环境下如何调试代码

一、code.c文件 我们首先创建一个code.c文件,写一段简单代码,用于测试。 二、makefile文件 然后,我们可以编写makefile文件,使得code.c文件能够进行编译。(当然也可以不写makefile文件,直接对code.c进行编…

mysql面试题14:讲一讲MySQL中什么是全同步复制?底层实现?

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:讲一讲mysql中什么是全同步复制?底层实现? MySQL中的全同步复制(Synchronous Replication)是一种复制模式,主服务器在写操作完成后,必须等待…

PG 多表连接查询

写法: 使用 select 表名.键名 from 表1 join表2 on 相同的主键 构造出来一张新表 多表要用表名.键名 才能知道是哪一张表 传统写法也行 类型: 内 而外的要这样写

[BJDCTF2020]Mark loves cat

先用dirsearch扫一下,访问一下没有什么 需要设置线程 dirsearch -u http://8996e81f-a75c-4180-b0ad-226d97ba61b2.node4.buuoj.cn:81/ --timeout2 -t 1 -x 400,403,404,500,503,429使用githack python2 GitHack.py http://8996e81f-a75c-4180-b0ad-226d97ba61b2.…

虚拟机VMware的使用流程以及出现的问题附解决方法

虚拟机VMware的使用流程以及出现的问题附解决方法 下载安装 略。。。 创建虚拟机 虚拟机的设置如下:注意网络适配器为NAT 如果出现ip addr 命令:不显示IP地址的话: 解决方式如下: 首先设置网卡:先查看一下onboot是…

python二次开发CATIA:测量点的坐标

首先新建一个Part文件,插入一个几何图形集,在该几何图形集中插入一个点,坐标为(100,0,0)​,如下图所示: 下面通过python来测量该点的坐标​: import win32co…

国庆10.4

QT实现TCP服务器客户端 服务器 头文件 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTcpServer> //服务器头文件 #include <QTcpSocket> //客户端头文件 #include <QList> //链表容器 #include <QMe…

蓝桥杯每日一题2023.10.4

双向排序 - 蓝桥云课 (lanqiao.cn) 题目描述 题目分析 六十分解法如下&#xff1a;按照题意简单排序 #include<bits/stdc.h> using namespace std; const int N 2e5 10; int n, m, p, q, a[N]; bool cmp(int x, int y) {return x > y; } int main() {cin >&g…

C++ YAML使用

C++工程如何使用YAML-cpp 一、前期准备工作 1、已安装minGW、cmake、make等本地工具。 2、下载YAML-cpp第三方开源代码(一定要下载最新的release版本,不然坑很多)。 3、生成YAML-cpp静态库 (1)在yaml-cpp-master下建立build文件夹; (2)在该文件夹下生成MakaFile文…

wzsc_文件上传(条件竞争)

打开题目链接&#xff0c;很常见的文件上传框 经过尝试&#xff0c;发现上传东西后会调用upload.php&#xff0c;猜测文件被传到upload目录下 随便传了几个类型的文件&#xff0c;访问upload目录 发现.php文件以及.htaccess、.user.ini这种配置文件都没有传上去 但是通过抓包…

软件工程与计算总结(三)示例项目描述

本节介绍一个标准的项目描述&#xff0c;大家可以作为蓝本学习~ 目录 一.背景 二.目标 三.系统用户 四.用户访谈要点 1.收银员 2.客户经理 3.总经理 4.系统管理员 五.项目实践过程 一.背景 A是一家刚刚发展起来的小型连锁商店&#xff0c;其前身是一家独立的小百货门面…

lv7 嵌入式开发-网络编程开发 07 TCP服务器实现

目录 1 函数介绍 1.1 socket函数 与 通信域 1.2 bind函数 与 通信结构体 1.3 listen函数 与 accept函数 2 TCP服务端代码实现 3 TCP客户端代码实现 4 代码优化 5 练习 1 函数介绍 其中read、write、close在IO中已经介绍过&#xff0c;只需了解socket、bind、listen、acc…

Web版Photoshop来了,用到了哪些前端技术?

经过 Adobe 工程师多年来的努力&#xff0c;并与 Chrome 等浏览器供应商密切合作&#xff0c;通过 WebAssembly Emscripten、Web Components Lit、Service Workers Workbox 和新的 Web API 的支持&#xff0c;终于在近期推出了 Web 版 Photoshop&#xff08;photoshop.adobe…

JUC第十四讲:JUC锁: ReentrantReadWriteLock详解

JUC第十四讲&#xff1a;JUC锁: ReentrantReadWriteLock详解 本文是JUC第十四讲&#xff1a;JUC锁 - ReentrantReadWriteLock详解。ReentrantReadWriteLock表示可重入读写锁&#xff0c;ReentrantReadWriteLock中包含了两种锁&#xff0c;读锁ReadLock和写锁WriteLock&#xff…