面试计算机网络原理及网络协议
2026/6/21 2:11:00 网站建设 项目流程

面试计算机网络原理及网络协议

    • 📚 文章目录
      • 1. 背景介绍
      • 2. 核心概念
      • 3. 协议详解
      • 4. 实践应用
      • 5. 总结与进阶
  • 计算机网络原理及网络协议
    • 网络是什么
    • 常见的状态码有哪些
    • URI 和 URL 的区别
    • 什么是 SSL
    • 开放式系统互联模型OSI(七层)
      • 第一层:物理层
      • 第二层:数据链路层
      • 第三层:网络层
      • 第四层:传输层
      • 第五层:会话层
      • 第六层:表示层
      • 第七层:应用层
  • OSI七层模型协议详解(含全称+精准用途)
    • 关键易错点补充
    • 常见端口
      • 21:FTP
      • 211:下载
      • 22:ssh
      • 25: SMTP,发邮件的端口
      • 53:DNS默认端口
      • 139:SMB共享
      • 465:SMTPS,SSL安全协议
      • 109:pop2,收件协议
      • 110:pop3,收件协议
      • 995: pop3S,SSL安全协议
      • 143:IMAP协议,邮件协议
      • 993: IMAP协议S,SSL安全协议
      • 23:Telnet端口检测
      • 80: HTTP
      • 443:HTTPS —SSL安全协议(256AES 1024AES 2048AES)
      • 3306::MySQL
      • 6379:Redis缓存服务器
      • 3389:远程桌面
      • 8080:代理服务器或Tomcat
      • 1433:MS*SQL SEVER数据库
      • 1521:oracle数据库
      • 5000:DB2
      • 27017:MongoDB
      • 11211:Mamcached
      • 7001:webLogic
    • 什么是 RARP
    • RARP工作原理
    • 什么是ARP协议
    • ARP协议工作原理
    • ARP协议的作用
    • rip 协议是什么
    • rip 的工作原理
    • RIP 较少路由收敛机制带来的问题
    • RIP 的缺点
    • 什么是OSPF 协议
    • OSPF 的工作原理
    • TCP 与 UDP 区别总结
    • HTTPS 和 HTTP 的区别
    • IP协议
    • ICMP网络控制报文协议
    • TCP/IP协议建立连接的过程
    • TCP/IP协议断开连接的过程
    • dns 是什么
    • dns 的工作原理
    • 客户访问浏览器的过程
    • GET 和 POST 的区别
    • Cookies 和 session 区别
    • session 的工作原理
    • 什么是同源策略

📚 文章目录

本文系统讲解计算机网络原理及网络协议,适合面试准备和知识梳理。主要内容如下:

1. 背景介绍

  • 网络基础概念:介绍网络的基本定义、常见状态码、URI/URL区别、SSL等基础概念,为后续学习打下基础。

2. 核心概念

  • OSI七层模型:详细讲解开放式系统互联模型的七个层次,从物理层到应用层,理解网络通信的分层架构。

3. 协议详解

  • 网络协议深度解析:深入分析ARP、RARP、RIP、OSPF、TCP/UDP、HTTP/HTTPS、DNS等核心协议的工作原理与区别。

4. 实践应用

  • Web访问过程:解析客户访问浏览器的完整过程,GET/POST区别,Cookies/Session机制,以及同源策略等实际应用场景。

5. 总结与进阶

  • 知识梳理与扩展:总结关键知识点,提供常见端口速查,并给出进一步学习的方向和建议。

计算机网络原理及网络协议

网络是什么

网络就是把分布在不同位置上的主机,通过传输介质(网线,卫星)等连接起来,通过网络协议实现主机之间数据传输和共享的目的

常见的状态码有哪些

1,信息状态码
2,响应成功
3,重定向
4,客户端错误
5,服务端错误
200 OK //客户端请求成功
403 Forbidden //服务器收到请求,但是拒绝提供服务
404 Not Found //请求资源不存在,eg:输入了错误的 URL
500 Internal Server Error //服务器发生不可预期的错误

URI 和 URL 的区别

URI,统一资源标识 符,用来唯一的标识一个资源。
URL 可以用来标识一个资源,而且还指明了如何定位这个资 源。

什么是 SSL

https 是如何保证数据传输的安全(SSL 是怎么工作保证安全的)
SSL 代表安全套接字层。它是一种用于加密和验证应用程序(如浏览器)和 Web 服务器之间
发送的数据的协议。 身份验证 , 加密 Https 的加密机制是一种共享密钥加密和公开密钥
加密并用的混合加密机制。SSL/TLS 协议作用:认证用户和服务,加密数据,维护数据的完
整性的应用层协议加密和解密需要两个不同的密钥,故被称为非对称加密;加密和解密都使用同一个密钥的 对称加密。 优点在于加密、解密效率通常比较高 HTTPS 是基于非对称加
密的, 公钥是公开的,
(1)客户端向服务器端发起 SSL 连接请求;
(2) 服务器把公钥发送给客户端,并且服务器端保存着唯一的私钥
(3)客户端用公钥对双方通信的对称秘钥进行加密,并发送给服务器端
(4)服务器利用自己唯一的私钥对客户端发来的对称秘钥进行解密,
(5)进行数据传输,服务器和客户端双方用公有的相同的对称秘钥对数据进行加密解密,
可以保证在数据收发过程中的安全,即是第三方获得数据包,也无法对其进行加密,解密和
篡改。
因为数字签名、摘要是证书防伪非常关键的武器。 “摘要”就是对传输的内容,通过 hash
算法计算出一段固定长度的串。然后,在通过 CA 的私钥对这段摘要进行加密,加密后得到
的结果就是“数字签名”

开放式系统互联模型OSI(七层)

第一层:物理层

-机械、电子、定时接口通信信道上的原始比特流
RJ45\RJ11
IEEE 802.2
Ethernet

第二层:数据链路层

-物理寻址 同时将原始比特流转化为逻辑传输线路
ARP协议:地址解析协议
CDP协议:思科发现协议
VPN

第三层:网络层

-控制子网的运行,逻辑地址(IP地址)分组传输,路由选择
OSPF协议:开放最短路径优化协议
VRRP协议:虚拟路由器冗余协议
IGRP协议:内部网关路由协议
IP/IPv6协议:互联网协议
ICMP协议:互联网控制信息协议
NHRP协议:下一跳解析协议

第四层:传输层

-接受上一层的数据,在需要的时候分割数据并将这些数据传输给网络层
NetBIOS协议:
Mobile IP协议:移动IP协议
RUDP协议:可靠的数据报协议
XOT协议:基于TCP协议之上的X.25协议
TCP/UDP协议

第五层:会话层

-不同的主机用户之间建立以及管理会话
SSL协议:安全套接字协议,Url前的小标图
TLS协议:传输层安全协议
DAP协议:目录访问协议
LDAP协议:轻量级的目录访问协议
RPC协议:远程过程调用协议

第六层:表示层

-信息的语法、语义、以及格式,比如压缩的、解密的、格式转换

第七层:应用层

-各种应用程序协议
HTTP协议
FTP协议
SMTP协议
SSH协议
IMAP协议
TELNET协议
LOGIN协议
DHCP协议
NTP协议

OSI七层模型协议详解(含全称+精准用途)

层级中文名称核心作用核心协议(详细全称)协议具体用途数据单位
第7层 应用层应用层直接面向用户和应用程序,提供各类网络服务接口HTTP(超文本传输协议)网页浏览的核心协议,传输HTML、CSS、JS等网页资源,默认端口80数据(Data)
HTTPS(安全超文本传输协议)HTTP的加密版本,基于SSL/TLS加密,防止数据被窃听和篡改,默认端口443
FTP(文件传输协议)专门用于网络中文件的上传和下载,支持断点续传,控制端口21,数据端口20
SMTP(简单邮件传输协议)用于发送电子邮件,默认端口25,加密版SMTPS端口465
POP3(邮局协议第3版)用于接收电子邮件,下载邮件到本地后服务器默认删除,端口110
IMAP(互联网消息访问协议)用于同步电子邮件,邮件保存在服务器,支持多设备同步查看,端口143
DNS(域名系统)将人类易记的域名(如baidu.com)解析为计算机可识别的IP地址,默认端口53(UDP为主,区域传输用TCP)
Telnet(远程终端协议)明文远程登录服务器,用于设备调试,安全性极低,默认端口23
SSH(安全外壳协议)加密版远程登录协议,替代Telnet,支持文件传输和端口转发,默认端口22
DHCP(动态主机配置协议)自动为网络中的设备分配IP地址、子网掩码、网关和DNS服务器,避免手动配置
第6层 表示层表示层数据格式转换、加密解密、压缩解压缩,解决不同系统间数据兼容性问题SSL(安全套接层)/TLS(传输层安全协议)为上层数据提供加密、身份认证和完整性校验,是HTTPS、VPN的核心加密技术数据(Data)
ASCII(美国信息交换标准代码)最基础的字符编码标准,定义了128个英文字符的二进制表示
Unicode(统一字符编码)全球通用的字符编码标准,支持所有国家的语言文字,解决多语言乱码问题
JPEG(联合图像专家组)静态图像压缩标准,广泛用于照片、图片的存储和传输
MPEG(运动图像专家组)音视频压缩标准,包括MPEG-1(VCD)、MPEG-2(DVD)、MPEG-4(MP4)等
第5层 会话层会话层建立、管理和终止应用程序之间的通信会话,提供会话同步和断点恢复NetBIOS(网络基本输入输出系统)局域网内计算机之间的通信协议,用于文件共享、打印机共享数据(Data)
RPC(远程过程调用)允许本地程序调用另一台计算机上的程序,是分布式系统、微服务的基础技术
SCP(安全复制协议)基于SSH的安全文件传输协议,用于在本地和远程服务器之间加密传输文件
RTSP(实时流协议)用于控制流媒体服务器的播放、暂停、快进等操作,广泛用于视频监控、直播
第4层 传输层传输层端到端的可靠数据传输,提供流量控制、差错控制和拥塞控制TCP(传输控制协议)面向连接的可靠传输协议,通过三次握手建立连接、四次挥手断开连接,支持数据重传和排序,用于网页、邮件、文件传输等对可靠性要求高的场景段(Segment)
UDP(用户数据报协议)无连接的不可靠传输协议,传输速度快、延迟低,不保证数据到达,用于视频通话、在线游戏、直播等对实时性要求高的场景数据报(Datagram)
第3层 网络层网络层跨网络的路由选择和IP寻址,实现不同网段之间的数据传输IP(网际协议)互联网的核心协议,为每个设备分配唯一的IP地址,负责数据包的路由转发,分为IPv4和IPv6分组/包(Packet)
ICMP(互联网控制消息协议)用于网络诊断和错误报告,ping(测试连通性)和traceroute(追踪路由)都是基于ICMP实现
ARP(地址解析协议)将IP地址解析为对应的MAC地址(物理地址),是局域网内数据传输的基础
RARP(反向地址解析协议)将MAC地址解析为对应的IP地址,现在已被DHCP替代,极少使用
OSPF(开放式最短路径优先)链路状态路由协议,用于大型企业网和运营商网络的路由计算
RIP(路由信息协议)距离矢量路由协议,用于小型网络的路由选择,最大跳数15
第2层 数据链路层数据链路层将数据包封装成帧,负责相邻节点间的可靠传输,进行差错检测Ethernet(以太网协议)目前最主流的局域网技术,定义了局域网内的帧格式和传输规则帧(Frame)
PPP(点对点协议)用于串行链路的点对点通信,广泛用于ADSL拨号、VPN、路由器之间的连接
MAC(媒体访问控制协议)定义了物理地址(MAC地址)的格式和访问控制规则,每个网卡有唯一的MAC地址
VLAN(虚拟局域网协议)将一个物理交换机划分为多个逻辑局域网,隔离广播域,提高网络安全性和性能
第1层 物理层物理层在物理介质上传输比特流,定义硬件接口、电气特性、传输介质无网络协议(纯物理传输标准)定义网线、光纤、无线电波等介质的传输标准,只负责传输0和1的电信号,不关心数据内容比特(Bit)

关键易错点补充

  1. 跨层协议说明

    • ARP同时工作在数据链路层和网络层:它接收网络层的IP地址请求,返回数据链路层的MAC地址
    • DNS同时使用UDP和TCP:普通查询用UDP(速度快),区域传输(同步域名数据)用TCP(可靠)
  2. 实际应用简化
    现代互联网普遍使用TCP/IP四层模型,将OSI的应用层、表示层、会话层合并为"应用层",其余三层一一对应,是目前工程界的主流标准。

常见端口

21:FTP

211:下载

22:ssh

25: SMTP,发邮件的端口

53:DNS默认端口

139:SMB共享

465:SMTPS,SSL安全协议

109:pop2,收件协议

110:pop3,收件协议

995: pop3S,SSL安全协议

143:IMAP协议,邮件协议

993: IMAP协议S,SSL安全协议

23:Telnet端口检测

80: HTTP

443:HTTPS —SSL安全协议(256AES 1024AES 2048AES)

3306::MySQL

6379:Redis缓存服务器

3389:远程桌面

8080:代理服务器或Tomcat

1433:MS*SQL SEVER数据库

1521:oracle数据库

5000:DB2

27017:MongoDB

11211:Mamcached

7001:webLogic

什么是 RARP

概括: 反向地址转换协议,网络层协议,RARP 与 ARP 工作方式相反。 RARP 使只知道自己
硬件地址的主机能够知道其 IP 地址。
RARP 发出要反向解释的物理地址并希望返回其 IP地址,
应答包括能够提供所需信息的 RARP 服务器发出的 IP 地址。

RARP工作原理

(1)网络上的每台设备都会有一个独一无二的硬件地址,通常是由设备厂商分配的 MAC 地址。主机从网卡上读取 MAC 地址,然后在网络上发送一个 RARP 请求的广播数据包,请求 RARP
服务器回复该主机的 IP 地址。
(2)RARP 服务器收到了 RARP 请求数据包,为其分配 IP 地址,并将 RARP 回应发送给主机。
(3)PC1 收到 RARP 回应后,就使用得到的 IP 地址进行通讯。

什么是ARP协议

地址解析协议,即 ARP(Address Resolution Protocol),是根据 IP 地址获取物理地址的一个 TCP/IP 协议。
1.发送 ARP 请求的以太网数据帧 广播 到以太网上的每个主机,ARP 请求帧中包含了目的主
机的 IP 地址。
2.目的主机收到了该 ARP 请求之后,会发送一个 ARP 应答,里面包含了目的主机的 MAC 地
址。

ARP协议工作原理

协议规定,每台计算机都需要一个arp表,用来保存IP地址和物理地址的映射关系
访问IP地址的时候就会去查arp表,从而找到对应的物理地址
ARP 协议工作原理:
每个主机都会在自己的 ARP 缓冲区中建立一个 ARP 列表,以表示 IP 地址和 MAC 地址之间的对应关系。
主机(网络接口)新加入网络时(也可能只是 mac 地址发生变化,接口重启等), 会发送免费 ARP 报文把自己 IP 地址与 Mac 地址的映射关系广播给其他主机。
网络上的主机接收到免费 ARP 报文时,会更新自己的 ARP 缓冲区。将新的映射关系更新到自己的 ARP 表中。
某个主机需要发送报文时,首先检查 ARP 列表中是否有对应 IP 地址的目的主机的 MAC地址,如果有,则直接发送数据,如果没有,就向本网段的所有主机发送 ARP 数据包,该数据包包括的内容有:源主机 IP 地址,源主机 MAC 地址,目的主机的 IP 地址等。当本网络的所有主机收到该 ARP 数据包时:
(A)首先检查数据包中的 IP 地址是否是自己的 IP 地址,如果不是,则忽略该数据包。
(B)如果是,则首先从数据包中取出源主机的 IP 和 MAC 地址写入到 ARP 列表中,如果已经存在,则覆盖。
(C) 然后将自己的 MAC 地址写入 ARP 响应包中,告诉源主机自己是它想要找的 MAC地址。
源主机收到 ARP 响应包后。将目的主机的 IP 和 MAC 地址写入 ARP 列表,并利用此信息发送数据。如果源主机一直没有收到 ARP 响应数据包,表示 ARP 查询失败。ARP 高速缓存(即 ARP 表)是 ARP 地址解析协议能够高效运行的关键

ARP协议的作用

网络中的数据传输所以来的是物理地址,ARP负责把IP地址转换为物理地址
arp协议的主要工作就是建立,查询,更新,删除arp表项
无需人为干涉,一直在进行轮询和应答

rip 协议是什么

RIP 动态路由选择协议(网络层协议)
RIP 是一种基于距离矢量(Distance-Vector)算法的协议,它使用跳数(Hop Count)作为度量来衡量到达目的网络的路由距离。RIP 通过 UDP 报文进行路由信息的交换,使用的端口号
为 520。

rip 的工作原理

RIP 路由协议用“更新(UNPDATES)”和“请求(REQUESTS)”这两种分组来传输信息的。
每个具有 RIP 协议功能的路由器每隔 30 秒用 UDP520 端口给与之直接相连的机器广播更新
信息。并且在( 用“路程段数”(即“跳数”)作为网络距离的尺度。每个路由器在)给相邻路由器发出路由信息时,都会给每个路径加上内部距离。
路由器的收敛机制:
任何距离向量路由选择协议(如 RIP)都有一个问题,路由器不知道网络的全局情况,路由器必须依靠相邻路由器来获取网络的可达信息。由于路由选择更新信息在网络上传播慢,距离向量路由选择算法有一个慢收敛问题,这个问题将导致不一致性产生。

RIP 较少路由收敛机制带来的问题

1)记数到无穷大机制: RIP 协议允许最大跳数为 15。大于 15 的目的地被认为是不可达。 当
路径的跳数超过 15,这条路径才从路由表中删除。
2) 水平分割法: 路由器不向路径到来的方向回传此路径。当打开路由器接口后,路由器
记录路径是从哪个接口来的,并且不向此接口回传此路径。
3) 破坏逆转的水平分割法: 忽略在更新过程中从一个路由器获取的路径又传回该路由器
4)保持定时器法: 防止路由器在路径从路由表中删除后一定的时间内(通常为 180 秒)接
受新的路由信息。 保证每个路由器都收到了路径不可达信息
5) 触发更新法: 当某个路径的跳数改变了,路由器立即发出更新信息,不管路由器是否
到达常规信息更新时间都发出更新信息。

RIP 的缺点

1、由于 15 跳为最大值,RIP 只能应用于小规模网络;
2、收敛速度慢;
3、根据跳数选择的路由,不一定是最优路由。

什么是OSPF 协议

OSPF(Open Shortest Pass First,开放最短路径优先协议),是一个最常用的内部网管协议,是一个链路状态协议。(网络层协议,)

OSPF 的工作原理

OSPF 组播的方式在所有开启 OSPF 的接口发送 Hello 包,用来确定是否有 OSPF 邻居,若发现了,则建立 OSPF 邻居关系,形成邻居表,之后互相发送 LSA(链路状态通告)相互通告路由,形成 LSDB(链路状态数据库)。再通过 SPF 算法,计算最佳路径(cost 最小)后放入路由表。

TCP 与 UDP 区别总结

1.TCP 面向连接(如打电话要先拨号建立连接)提供可靠的服务;UDP 是无连接的,即发送数 据之前不需要建立连接,;UDP 尽最大努力交付,即不保证可靠交付。(由于 UDP 无需建立 连接,因此 UDP 不会引入建立连接的时延,TCP 需要在端系统中维护连接状态,比如接受和 发送缓存,拥塞控制,序号与确认号的参数等,故 TCP 会比 UDP 慢)
2.UDP 具有较好的实时性,工作效率比 TCP 高,适用于对高速传输和实时性有较高的通信或 广播通信。
3.每一条 TCP 连接只能是一对一的;UDP 支持一对一,一对多,多对一和多对多的交互通信
4.UDP 分组首部开销小,TCP 首部开销 20 字节;UDP 的首部开销小,只有 8 个字节。
5.TCP 面向字节流,实际上是 TCP 把数据看成一连串无结构的字节流;UDP 是面向报文的(一 次交付一个完整的报文,报文不可分割,报文是 UDP 数据报处理的最小单位)。
6.UDP 适合一次性传输较小数据的网络应用,如 DNS,SNMP 等

HTTPS 和 HTTP 的区别

1.HTTP 协议传输的数据都是未加密的,也就是明文的,因此使用 HTTP 协议传输隐私信息非 常不安全, HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密传输、身份认证的网络协议, 要比 http 协议安全。
2.https 协议需要到 ca 申请证书,一般免费证书较少,因而需要一定费用。
3.http 和 https 使用的是完全不同的连接方式,用的端口也不一样,前者是 80,后者是 443。
Https 的作用 
内容加密建立一个信息安全通道,来保证数据传输的安全;身份认证确认网站的真实性;数据完整性防止内容被第三方冒充或者篡改

IP协议

是该模型中最重要的协议,为TCP UDP ICMP提供数据传输的通道。提供了子网的互联,形成了一个比较大的网络。是不同子网里的主机能够传输数据
主要的作用:
数据传送:将数据从一个主机传送到另一个主机
寻址:根据子网划分和IP地址,发现正确的目标主机的主机地址
路由选择:选择数据在互联网上的传送的路径
数据报文的分段:当传送的数据大于MTU值,将数据进行分段发送和接受,并重新组装
IP数据包里含源地址和目标地址和数据部分

ICMP网络控制报文协议

用于传递差错信息,时间,回显,网络信息等网络控制信息的报文

TCP/IP协议建立连接的过程

TCP协议面向单播协议
单播:是一对一的服务,在数据的发送和接收前,通信双发必须在彼此之间简历一条连接.
采用三次握手建立一个连接
第一次:客户端向服务端发送请求 SYN码 想告诉服务器主机和端口号(ISN码)TCP(SYN+Seq) SN码(seq=0)
第二次:服务端收到SYN码以后,客户端发送一个SYN+ACK的码,ACK表示确认连接 TCP(SYN+ACK+Seq) ISN(seq=0) ACK(ACK=seq(第一次的Seq)+1)
第三次:客户端收到ACK码,再次向服务端发送ACK码确认连接,服务端收到ACK后两台主机建立连接 ACK(ACK=seq+1)
Seq(seq(第一次的Seq)+1) ACK(ACK=Seq(第二次的seq)+1)

TCP/IP协议断开连接的过程

采用四次挥手断开连接

dns 是什么

将主机域名转换为 ip 地址,属于应用层协议,使用 UDP 传输。(DNS 应用层协议。
总结: 浏览器缓存,系统缓存,路由器缓存,IPS 服务器缓存,根域名服务器缓存,顶级域
名服务器缓存,主域名服务器缓存。

dns 的工作原理

一、主机向本地域名服务器的查询一般都是采用递归查询。
二、本地域名服务器向根域名服务器的查询的迭代查询。
1)当用户输入域名时,浏览器先检查自己的缓存中是否 这个域名映射的 ip 地址,有解析结束。
2)若没命中,则检查操作系统缓存(如 Windows 的 hosts)中有没有解析过的结果,有解析结束。
3)若无命中,则请求本地域名服务器解析( LDNS)。
4)若 LDNS 没有命中就直接跳到根域名服务器请求解析。根域名服务器返回给 LDNS 一个 主域名服务器地址。
5) 此时 LDNS 再发送请求给上一步返回的 gTLD( 通用顶级域), 接受请求的 gTLD 查找并返回这个域名对应的 Name Server 的地址
6) Name Server 根据映射关系表找到目标 ip,返回给 LDNS
7) LDNS 缓存这个域名和对应的 ip, 把解析的结果返回给用户,用户根据 TTL 值缓存到本
地系统缓存中,域名解析过程至此结束

客户访问浏览器的过程

  1. 通过URL访问,浏览器请求DNS服务器,通过DNS获取域名相对应的IP,通过IP地址找到对应的服务器,建立TCP连接
  2. 浏览器发送HTTP Request请求包,服务器收到请求包开始调用自身服务,返回HTTP Response响应包
  3. 浏览器接收到来自服务器的响应后渲染Resopnse包
  4. 等收到全部内容后断开与服务器之间的TCP连接

GET 和 POST 的区别

get 是获取数据,post 是修改数据
get 把请求的数据放在 url 上, 以?分割 URL 和传输数据,参数之间以&相连,所以 get 不太 安全。而 post 把数据放在 HTTP 的包体内(requrest body)
get 提交的数据最大是 2k( 限制实际上取决于浏览器), post 理论上没有限制。
GET 产生一个 TCP 数据包,浏览器会把 http header 和 data 一并发送出去,服务器响应 200(返回数据); POST 产生两个 TCP 数据包,浏览器先发header,服务器响应 100 continue,浏览器再发送 data,服务器响应 200 ok(返回数据)。
GET 请求会被浏览器主动缓存,而 POST 不会,除非手动设置。

Cookies 和 session 区别

Cookie 和 Session 都是客户端与服务器之间保持状态的解决方案
1,存储的位置不同,cookie:存放在客户端,session:存放在服务端。Session 存储的数据 比较安全
2,存储的数据类型不同 两者都是 key-value 的结构,但针对 value 的类型是有差异的 cookie:value 只能是字符串类型,session:value 是 Object 类型
3,存储的数据大小限制不同
cookie:大小受浏览器的限制,很多是是 4K 的大小, session:理论上受当前内存的限制,4,生命周期的控制 cookie 的生命周期当浏览器关闭的时候,就消亡了
(1)cookie 的生命周期是累计的,从创建时,就开始计时,20 分钟后,cookie 生命周期结束,
(2)session 的生命周期是间隔的,从创建时,开始计时如在 20 分钟,没有访问 session,那么 session 生命周期被销毁

session 的工作原理

session 的工作原理是客户端登录完成之后,服务器会创建对应的 session,session 创建完 之后,会把 session 的 id 发送给客户端,客户端再存储到浏览器中。这样客户端每次访问 服务器时,都会带着 sessionid,服务器拿到 sessionid 之后,在内存找到与之对应的 session
这样就可以正常工作了

什么是同源策略

为了防止不同域在用户浏览器中彼此干扰,浏览器对从不同来源(域)收到的内 容进行隔离。 浏览器不允许任何旧有脚本访问一个站点的 cookie,否则,会话容易被劫持。 只有发布 cookie 的站点能够访问这些 cookie,只有通过该站点返回的页面所包 含或加载的 JavaScript 才能访问 cookie。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询