当前位置: 首页 > news >正文

Cookie的介绍和使用

1、Cookie简介

  • 是由服务器端生成,发送给User-Agent(一般指浏览器),浏览器将cookie信息以键值对的形式保存到某个目录下的文本文件内。下次请求该网站时就把保存的cookie信息发送回服务器。(cookie就是一个小文件,浏览器对其大小一般限制在4k,用来记录一些信息(一般用作标识))
  • 简单来说cookie是Web服务器保存在客户端的一系列文本信息。
  • cookie的作用

    对特定对象的追踪
    统计网页浏览次数
    简化登录

  • 安全性能
    信息容易泄露

2、我们为什么要使用Cookie

  • 客户端和浏览器端通信使用的Http协议是无状态的,即每次请求对于服务端来讲都是一个新的请求,无法基于前面的信息进行交流,意味着服务器无法从协议连接上追踪会话。
  • 因此Web应用需要一种可以保存前面信息(也就是以往客户端和浏览器进行交互的产生的数据信息)的技术,这是会话技术。这样客户端和服务器端每次的交流都可以被追踪到了。
  • cookie技术由此诞生而来。

3、Cookie的概念

  • ​Cookie是会话技术的一种,主要用于将会话过程产生的数据保存到客户端(浏览器),从而使客户端每次和服务端之间可以更好的进行交互。
    在这里插入图片描述

  • 上图描述了Cookie在浏览器和服务器之间的传输过程。当用户第一次通过浏览器访问服务器时,服务器可以在响应信息(response)中增加Set-Cookie响应头,将信息以Cookie为载体响应给浏览器。浏览器接收到服务器发送来的Cookie信息,就会将该保存在浏览器的Cookie缓冲区内。这样,当用户再次通过浏览器访问服务器时,就会取出Cookie缓冲区的信息放在请求协议中,Web服务器就可以通过request中的用户信息来分辨此次请求是由哪个用户发起的(是新用户还是访问过的老用户)。

  • 通过上图分析我们可以知道,服务器端可以通过HttpServletRsponse来向客户端发送Cookie

  • 浏览器也可以通过JS来创建和获取Cookie对象

    在这里插入图片描述
    下面简单解释下几个重要属性:

  • maxAge:表示此Cookie在客户端的有效期,单位是秒。默认值为-1,当整个浏览器关闭后,此Cookie失效;当maxAge值为正数时,即此Cookie还剩余多少秒的有效期;当值为0时,此Cookie失效,浏览器进行删除操作。

  • path:表示此Cookie对path下的所属的目录和子目录有效,比如path设置为/test,放客户端发起/test/UserServlet请求时,就会携带上此Cookie;如果想让此Cookie对站点所有的目录有效的话,可以设置为/。

  • domain:表示可以访问此Cookie的域名,如果不设置的话,会根据当前请求url来设置;当我们手动设置时,可以采用以".“开头来定义此Cookie更大的域名访问范围,比如设置domain为”.csdn.net",则当访问"https://lizishudd.blog.csdn.net/“时,一样可以使用此”.csdn.net"下的cookie(当然这里还需要Cookie的path同时满足要求)。

4、测试服务器端Cookie

  • login.jsp

    <form id="loginForm" method="post" action="UserServlet" onsubmit="return checkForm(this)"><table><input type="hidden" name="op" value="login"/><tr><td class="field">用户名:</td><td><input class="text" type="text" name="userName" onfocus="FocusItem(this)"onblur="CheckItem(this);"/><span></span></td></tr><tr><td class="field">登录密码:</td><td><input class="text" type="password" id="passWord" name="passWord" onfocus="FocusItem(this)"onblur="CheckItem(this);"/><span></span></td></tr><tr id="imgCheckCode"><td class="field">验证码:</td><td><input class="text verycode" type="text" name="veryCode" onfocus="FocusItem(this)"onblur="CheckItem(this);"/><img id="veryCode" src="checkCode" onclick="changeCheckCode(this)"/><span></span></td></tr><tr><td></td><td><label class="ui-green"><input type="submit" name="submit" onclick="loginClick(this)" value="立即登录"/></label><label><a href="forgetPassword.jsp">忘记密码?</a></label><label style="width:180px;text-align:right;color:red;font-size: 16px;"> ${requestScope.ERRORS}</label></td></tr><tr><td></td>//checkBox点击框<td><label><input type="checkbox" name="esayLogin">一天内免登录</label></td></tr></table>
    </form>
    

    注意上述login.jsp中最下方有一个一天内免登陆,checkBox点击框,就是用来测试Cookie存储存储会话信息的。

  • loginServlet中

    public void login(HttpServletRequest req, HttpServletResponse resp) {User rtnUser = null;try {User user = new User();user.setUserName(req.getParameter("userName"));user.setPassword(req.getParameter("passWord"));//判断用户是否勾选一天内免登陆String esayLogin = req.getParameter("esayLogin");System.out.println(esayLogin);//判断数据库中是否存在该用户rtnUser = userService.login(user);//System.out.println(rtnUser);if(rtnUser == null){req.setAttribute("ERRORS","用户名或密码错误"+loginNum+"次");req.getRequestDispatcher("login.jsp").forward(req,resp);}}else {//判断是否选择免登陆if(esayLogin != null){//创建用户对象Cookie cookieUserName = new Cookie("userName",user.getUserName());Cookie cookiePassWord = new Cookie("password",user.getPassword());//设置有效期都为一天cookieUserName.setMaxAge(60*60*24);cookiePassWord.setMaxAge(60*60*24);//服务器将Cookie对象返回给客户端浏览器resp.addCookie(cookieUserName);resp.addCookie(cookiePassWord);}System.out.println("-------------登录成功----------------");req.getSession().setAttribute("rtnUser",rtnUser);resp.sendRedirect("index.jsp");}} catch (Exception ex) {ex.printStackTrace();}}
    
  • 测试结果
    在这里插入图片描述
    在这里插入图片描述

5、测试浏览器端的Cookie

  • ​Cookie的创建工作除了在服务器端,还可以在浏览器端通过JavaScript完成。
    <script>//创建Cookie,并设置有效期(单位天)function setCookie(cname,cvalue,exdays){var d = new Date();d.setTime(d.getTime()+(exdays*24*60*60*1000));var expires = "expires=" + d.toGMTString();document.cookie = cname + "=" + cvalue + "; " + expires;}//获取对应Cookie的值,通过字符串截取的方式function getCookie(cname) {var name = cname + "=";var ca = document.cookie.split(';');for (var i = 0; i < ca.length; i++) {var c = ca[i].trim();if (c.indexOf(name) == 0) return c.substring(name.length, c.length);}return "";}window.onload = function () {$("userName").value=getCookie("userName");$("passWord").value=getCookie("passWord");}//删除Cookie,过期时间提前1天,解决时差问题function delCookie(cname){var d = new Date();d.setTime(d.getTime()-(24*60*60*1000));var expires = "expires=" + d.toGMTString();document.cookie = cname + "=; " + expires;}</script>
    

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

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

【CoppeliaSim】Solidworks中模型导出模型到V-REP

一、下载安装插件 插件名称&#xff1a;sw2urdfSetup 下载地址&#xff1a;https://github.com/ros/solidworks_urdf_exporter/releases/tag/1.6.0 下载后直接安装即可。安装成功后&#xff0c;可在SolidWorks的菜单栏中看到&#xff1a;工具-Tools-Export as URDF 二、导出…...

css中id和class的区别

css中id和class的区别ID是唯一的类不是唯一的语法区别ID是唯一的 每个元素仅可以有一个ID每个页面仅可以有一个元素拥有这个ID 类不是唯一的 你可以在多个元素中使用相同的类你可以使用多个类在一个元素中 语法区别 id对应css是用样式选择符“#”&#xff08;井号&#xff…...

程序员如何快速成长

如何快速成长 每个程序员都是从菜鸟成长过来&#xff0c;我自己也不例外。以下是我个人一些总结和结合网上别人的经验&#xff0c;希望对大家有帮助&#xff01; 主动学习 保持危机感 35岁后你能做什么&#xff1f;为何同龄人已经是行业专家&#xff1f; 对知识保持好奇心 多…...

配置minio支持https

官网文档&#xff1a;https://docs.min.io/docs/how-to-secure-access-to-minio-server-with-tls.html 在${HOME}.minio/certs文件夹下 1、生成私钥 openssl genrsa -out private.key 2048 2、生成自签名证书 创建一个以openssl.conf以下内容命名的文件。设置IP.1和/或DNS.…...

力扣刷题:动态规划篇

目录322. 零钱兑换题目介绍题目实现5. 最长回文子串题目介绍题目实现518. 零钱兑换 II题目介绍题目实现53. 最大子序和题目介绍题目实现63. 不同路径 II题目介绍[62. 不同路径](https://leetcode-cn.com/problems/unique-paths/)题目实现70. 爬楼梯题目介绍题目实现72. 编辑距离…...

Java面试list 和 set 区别

List和Set的区别 List:&#xff1a;有序&#xff0c;按对象进入的的序保存对象&#xff0c;可可允许多个Null元素对象&#xff0c;可以使用lterator迭取出所有元素。在逐一便历&#xff0c;也可以使用get(int index)获取指定下标的元素 Set&#xff1a;无序&#xff0c;不可重复…...

诚意分享:这里有份超全Java体系化进阶学习图谱

摘要 Apache Kafka是一个分布式消息发布订阅系统。它最初由LinkedIn公司基于独特的设计实现为一个分布式的提交日志系统( a distributed commit log)&#xff0c;之后成为Apache项目的一部分。 成千上万的企业都在使用Kafka&#xff0c;三分之一的世界500强公司也在其中&…...

论文解读:3D U-Net: Learning Dense Volumetric Segmentation from Sparse Annotation

要点 1. 提出了3D U-Net&#xff1a;从稀疏标注的体素图像中学习的立体分割网络。 2. 有两个方案&#xff1a;第一是&#xff0c;在待分割立体图像中标注其中的一些切片&#xff0c;网络从这些标注中学习&#xff0c;再为这个空间提供密集的3D分割&#xff1b;第二是&#xff…...

基于51单片机的温度报警系统

目录 前言 一、温控系统是什么&#xff1f; 二、设计目的 1.环境需求 2.设计基础 三、设计 1.C51程序设计 2.Proteus仿真 &#xff08;1&#xff09;.元器件如下 &#xff08;2&#xff09;.原理图。 总结 前言 微型计算器自20世纪70年代诞生以来&#xff0c;得以迅…...

requests+re爬取猫眼电影排行

import requests from requests.exceptions import RequestException import re,json,timedef get_one_page(url):#获取网页信息try:headers {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/53…...

StringBoot编程式事务与声明式事务,附详细答案

前言 互联网时代&#xff0c;瞬息万变。一个小小的走错&#xff0c;就有可能落后于别人。我们没办法去预测任何行业、任何职业未来十年会怎么样&#xff0c;因为未来谁都不能确定。只能说只要有互联网存在&#xff0c;程序员依然是个高薪热门行业。只要跟随着时代的脚步&#…...

Twitter教程:如何下载Twitter数据副本?

Twitterrific Mac破解版是一款非常现代化优秀的桌面Twitter客户端,这款软件不仅看起来惊人,它的表现也是非常棒的,本文给大家的带来了如何下载Twitter数据副本的教程。 教程如下 在 iPhone 或 iPad 上打开“Twitter”。&#xff08;您也可以使用 Twitter.com 网站&#xff09…...

Android面试必刷的200道真题,吐血整理

&#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;&am...

4-1 Python常用内置算法与数据结构常考题

一、你使用过哪些常用内置算法和数据结构 仔细回想一下你用过哪些内置的算法数据结构&#xff1f; 1.sorted 2.dict/list/set/tuple… 3.问题&#xff1a;想的不全或者压根没了解和使用过 数据结构/算法语言内置内置库线性结构list(列表)/tuple(元组)array(数组&#xff0c;不…...

【内网学习笔记】8、powercat 的使用

1、下载安装 powercat powercat 可以视为 nc 的 powershell 版本&#xff0c;因此也可以和 nc 进行连接。 powercat 可在 github 进行下载&#xff0c;项目地址为&#xff1a;https://github.com/besimorhino/powercat 下载下来 powercat.ps1 文件后&#xff0c;直接导入即可…...

栈和队列(二) : 用栈实现队列

leetcode232.用栈实现队列 https://leetcode-cn.com/problems/implement-queue-using-stacks/ 使用栈实现队列的下列操作&#xff1a; push(x) – 将一个元素放入队列的尾部。 pop() – 从队列首部移除元素。 peek() – 返回队列首部的元素。 empty() – 返回队列是否为空。…...

手撕JS面试题大全一

冒泡排序 /* 两两比较 */ function bubleSort(arr) {var len arr.lengthfor (let outer len; outer > 2; outer--) {for (let inner 0; inner < outer - 1; inner) {if (arr[inner] > arr[inner 1]) {[arr[inner], arr[inner 1]] [arr[inner 1], arr[inner]]}}…...

CentOS 配置php环境

一.安装apache 1.安装apache yum install httpd2.修改配置文件 vi /etc/httpd/conf/httpd.conf将#ServerName www.example.com:80前面的#去掉 修改为ServerName localhost:80 3.添加端口,刷新配置,并查看确认 firewall-cmd --permanent --zonepublic --add-port80/tcp fire…...

测试技巧:弱网测试

弱网测试场景 当前APP网络环境比较复杂&#xff0c;网络制式有2G、3G、4G网络&#xff0c;还有越来越多的公共Wi-Fi。不同的网络环境和网络制式的差异&#xff0c;都会对用户使用app造成一定影响。另外&#xff0c;当前app使用场景多变&#xff0c;如进地铁、上公交、进电梯等…...

PMP哪里报名

首先了解下PMP考试时间&#xff0c;一年四次&#xff0c;正常情况是每年3、6、9、12月份考试&#xff1b; 其次了解PMP考试需要两次报名&#xff0c;分别是英文报名和中文报名&#xff1b;且两次报名通过后&#xff0c;才能正常考试。 下面分别介绍PMP英文报名和PMP考试中文报…...

s2结业考题,宠物管理系统

需求见ppt 留言贴教程...

面向对象示例——Basekt类

目标 定义一个能存放继承关系的容器Baseket类 难点 容器中不能保存不同类型的元素&#xff0c;那么该如何将具有继承关系的多种类型的对象存放在容器中呢&#xff1f;比如Bulk_quote和Quote&#xff0c;因为我们不能将Quote转换为Bulk_quote&#xff0c;所以容器肯定不能存放…...

HDU-2084 数塔

HDU-2084 数塔 题目链接&#xff1a;添加链接描述 #include<bits/stdc.h> using namespace std; int main() {int C,N,i,j;int a[101][101],dp[101][101];cin>>C;while(C--){cin>>N;memset(dp,0,sizeof(dp));for(i1;i<N;i){for(j1;j<i;j){cin>>…...

CSS的三种基础选择器,万字长文!

什么是HTML? HTML: ( Hypertext Markup Language )超文本标记语言&#xff0c;是一种标识性的语言。它包括一系列标签&#xff0e;通过这些标签可以将网络上的文档格式统一&#xff0c;使分散的Internet资源连接为一个逻辑整体。 特点: 简易性&#xff1a;超级文本标记语言版…...

MySQL高级(二)——锁与事务

MySQL高级&#xff08;二&#xff09;——锁与事务 文章目录MySQL高级&#xff08;二&#xff09;——锁与事务一、MySQL锁机制**1.1 锁与其应用场景锁的类型和适合的场景读阻塞写、写阻塞读手动锁定一行实现一个事务行锁升级为表锁的情况间隙锁的问题1.2 事务与MySQL隔离级别1…...

数据分类分级标准指南

数据分类分级标准指南&#xff0c;定级标准&#xff0c;参考影响对象、程度、范围三个纬度&#xff0c;按照5个等级进行处理&#xff0c;如下&#xff1a; 级别名称 级别程度 详细说明 L1 绝密 这是极度敏感的信息&#xff0c;如果受到破坏或泄漏&#xff0c;可能会使组织…...

容器盛水问题

题1:盛最多水的容器 解题&#xff1a;双指针 初始两个左右指针&#xff0c;可容纳水量min&#xff08;左指针&#xff0c;右指针&#xff09;*指针间距 S(i, j) min(h[i], h[j]) (j - i)移动数字较小的指针,min(h[i],h[j])可能变大 public class Solution {public int maxA…...

一篇文章带你学会Android

书籍&#xff1a; 《第一行代码》 《Android开发艺术探索》 《Android进阶之光》 《Android进阶解密》 大佬博客&#xff1a; 郭霖&#xff1a;https://blog.csdn.net/guolin_blog 袁辉辉&#xff1a;http://gityuan.com 刘望舒&#xff1a;http://liuwangshu.cn 微信公众号&am…...

CentOS7集群安装配置NTP服务器

目录1. 准备节点2. 安装配置 server 节点2.1 下载安装2.2 编辑配置文件2.3 启动服务3. 安装配置 Client 节点3.1 下载安装3.2 同步时间3.3 编辑配置文件3.4 启动服务4. 测试1. 准备节点 不管你有多少个节点&#xff0c;肯定要有一个 server 角色&#xff0c;至于谁是 server 你…...

shedLock使用redis作为数据源进行多实例@Scheduled任务调度

文章目录github地址pom依赖添加yml配置数据源config配置&#xff08;数据源 shedLock&#xff09;定时任务添加shedLock注解任务执行起来之后&#xff0c;redis中的数据格式github地址 https://github.com/lukas-krecan/ShedLock pom依赖添加 <!-- redis组件-->…...

JDK与CGLib动态代理实现原理

一.代理模式概念 代理模式&#xff1a;给原对象提供一个代理对象,让代理对象直接控制对原对象的引用.用生活中的话来说,代理对象就是中介. 作用:保护原对象;可以增加原对象的功能. 静态代理:在编译时就获得代理对象,这叫静态代理. 动态代理:在运行时通过反射获得代理对象,叫动…...

获取代理ip池

切换代理ip一直是我们在反反爬虫过程中常用的手段&#xff0c;但是目前各大ip代理网站的优质ip的价格都十分高昂&#xff0c;用于个人不太划算。好在有些网站提供免费的ip&#xff0c;经过测试&#xff0c;他们响应速度较为良好。如果我们将他们爬取下来并加以维护&#xff0c;…...

python爬虫代理ip使用_python爬虫使用代理IP的正确方式

现在从事爬虫行业的朋友非常多&#xff0c;但是很多都不知道Python爬虫程序里应该怎样来使用代理IP&#xff0c;今天小编就来分享一下这方面经验。这里以python3为例&#xff0c;请看下面介绍。一、首先要导入 urllib的request&#xff0c;然后调用ProxyHandler,它可以接受代理…...

如何构建一个自己的代理ip池

前言 对于爬虫来说&#xff0c;当你的访问频率达到了目标网站的预警值时&#xff0c;就可能触发目标网站的反爬机制。而封禁访问者ip就是很常见的一个反爬机制。 当ip被封禁后&#xff0c;从此ip发出的请求将不能得到正确的响应。这种时候&#xff0c;我们就需要一个代理ip池…...

爬虫代理哪家强

静觅 崔庆才的个人博客 前言 随着大数据时代的到来&#xff0c;爬虫已经成了获取数据的必不可少的方式&#xff0c;做过爬虫的想必都深有体会&#xff0c;爬取的时候莫名其妙 IP 就被网站封掉了&#xff0c;毕竟各大网站也不想自己的数据被轻易地爬走。 对于爬虫来说&#xff0…...

HTTP代理原理探索

Web 上的代理服务器是代表客户端完成事务处理的中间人。如果没有 Web 代理&#xff0c; HTTP 客户端就要直接与 HTTP 服务器进行对话。有了 Web 代理&#xff0c;客户端就可以与代理进行对话&#xff0c;然后由代理代表客户端与服务器进行交流。客户端仍然会完成对事务的处理&a…...

java代理类详解

&#x1f345; Java学习路线配套文章&#xff1a;Java学习路线总结&#xff0c;搬砖工逆袭Java架构师&#xff08;全网最强&#xff09; &#x1f345; 基础推荐&#xff1a;Java基础教程系列 &#x1f345; 实战推荐&#xff1a;Spring Boot基础教程 &#x1f345; 简介&#…...

爬虫代理哪家强?十大付费代理详细对比评测出炉!

原文地址&#xff1a;https://cuiqingcai.com/5094.html 侵权自动删除前言 随着大数据时代的到来&#xff0c;爬虫已经成了获取数据的必不可少的方式&#xff0c;做过爬虫的想必都深有体会&#xff0c;爬取的时候莫名其妙 IP 就被网站封掉了&#xff0c;毕竟各大网站也不想自己…...

ip代理 评测

转载 代理商家 套餐类型官方网站芝麻 HTTP 代理 默认版http://www.zhimaruanjian.com/阿布云代理 专业版https://www.abuyun.com 动态版 经典版 大象代理 个人版http://www.daxiangdaili.com 专业版 企业版全网代理 普通版http://www.goubanjia.com 动态版 快代理 VIP 套餐http…...

YiLu代理动态住宅代理IP- 优质 SEO 代理

YiLu代理SEO专用代理因为其匿名度高、速度快和安全可靠的特点经常被使用到&#xff0c;通常也被称为搜索引擎代理&#xff0c;YiLu代理服务器中的动态住宅Socks5代理IP专用于SEO完全可以被称作为一款优质的SEO代理。 使用YiLu代理的SEO代理 Socks5 IP 能够轻松进行关键字研究、…...

亿牛云API优质代理使用中出现的问题

&#xff08;1&#xff09; 代理提取失败 停止程序访问&#xff0c;直接使用IE浏览器访问代理API&#xff0c;截图看看错误提示&#xff1a; 如果页面访问失败 注意API链接是否复制正确&#xff1b;爬虫服务器是否有防火墙禁止网络访问&#xff1b;服务器是Linux提取api&#x…...

C/C++-内存

C/C-内存CPU与内存数据与地址内存分区静态/动态内存内存泄漏缓存与缓冲区FILE 与缓冲区CPU与内存 程序加载到内存后&#xff0c;操作系统会给不同的内存指定不同的权限&#xff0c;拥有读取和执行权限的内存块是代码&#xff0c;拥有读取和写入权限的内存块是数据 CPU一般通过地…...

Android 实现带指示器的自动轮播式ViewPager

前言 最近在做项目的时候&#xff0c;有个需求就是实现自动轮播式的ViewPager&#xff0c;最直观的例子就是知乎日报顶部的ViewPager&#xff0c;它内部有着好几个子view&#xff0c;每个一段时间便自动滑动到下一个item view&#xff0c;而底部的指示器也随之跟着改变。使用这…...

SQL 各种锁等待类型 wait type--sys.dm_os_wait_stats 表

返回执行的线程所遇到的所有等待的相关信息。可以使用该聚合视图来诊断 SQL Server 以及特定查询和批处理的性能问题。 列名 数据类型 说明 wait_type nvarchar(60) 等待类型的名称。 waiting_tasks_count bigint 该等待类型的等待数。该计数器在每开始一个等待时便会增…...

进程创建-终止-等待-替换

文章目录进程创建进程终止进程等待进程替换进程创建 意义&#xff1a; 进程运行时常会出现崩溃&#xff0c;为了避免父进程出现奔溃&#xff0c;则会创建子进程去代替父进程处理事务&#xff0c;即使崩溃并不会影响到父进程的正常运行&#xff0c;再创建一个子进程再次处理罢了…...

常见DB2锁等待解决流程

以下内容摘录自《DB2性能调整和优化》一书锁一章&#xff0c;如果转载务必指明出处&#xff01; 锁等待是实际生产中最常碰到的性能问题&#xff0c;下面我们总结了锁等待问题的解决流程和步骤。现在的情况是一个应用系统中出现很多锁等待导致系统出现性能问题。我们可以执行如…...

webservice接口等待时间_调用webservice超时问题的解决

1、web.config配置&#xff0c;里面增加&#xff1a;2、扩大代理类的超时限制&#xff0c;默认是90秒YourWebService yws new YourWebService();yws.Timeout 1200000; //20分钟3、IIS属性-网站 连接超时时间 1200秒1、修改 app.config 文件&#xff0c;添加如下代码&#x…...

C# 异步与等待

一直以来对异步和等待理解不是很清楚&#xff0c;虽然平时也用了&#xff0c;但是终究没完全理解&#xff0c;今天没事就查了下资料然后自己写了个例子&#xff0c;终于把它搞明白了。 关于异步和等待有三点需要重点注意: 异步和等待是一对关键字&#xff0c;你不能单独使用。…...

停止等待协议与连续 ARQ 协议

一、停止等待协议 停止等待”就是每发送完一个分组就停止发送&#xff0c;等待对方的确认。在收到确认后再发送下一个分组。 全双工通信的双方既是发送方也是接收方。 为了讨论问题的方便&#xff0c;我们仅考虑 A 发送数据&#xff0c;而 B 接收数据并发送确认。因此 A 叫做发…...

Flutter CircularProgressIndicator进度指示器/Loading

一种材料设计循环进度指示器&#xff0c;它旋转表示应用程序正在忙。 可用于Loading显示&#xff0c;也可以用作进度显示 参数详解 属性说明value 进度值&#xff0c; 进度值在0到1.0之间。 如果为空显示动画&#xff0c;非空显示进度 backgroundColor背景颜色valueColor进度…...