HTTP HTTP 1、概念HyperText Transfer Protocol(超文本传输协议) 1基于 TCP,无状态,默认端口是 80,HTTPS 是 443 无状态:每个HTTP请求独立,不保存客户端的状态信息。 如何实现有状态的应用: 123451、Cookie:服务器发送小数据片段存储在客户端,每次请求自动发送:2、Session:服务器端存储状态,通过 Session ID 识别客户端3、 2025-07-29 计算机网络 #HTTP #HTTP缓存
浏览器从输入url发生了什么 浏览器输入 URL 后发生了什么1浏览器输入 URL → DNS 解析 → 建立 TCP 连接(三次握手)→ 发起 HTTP 请求 → 服务器响应 → 浏览器渲染页面 1️⃣ 检查浏览器缓存 查看是否已有该页面的缓存(包括 URL 重定向、DNS、HTTP 缓存等)。 如果命中强缓存(如 Cache-Control: max-age=xxx),直接使用缓存页面,流程终止。 2️⃣ DNS 解 2025-07-28 计算机网络 #浏览器
DNS DNS1、概述Domain Name System 1DNS,域名系统,作用是把域名转换为IP地址。例如www.baidu.com 转换为220.181.38.251 为什么需要DNS 1因为IP地址难以记忆,而且可能会变化,但域名可以保持不变。 2、查询流程12345678🥖 用户输入网址 www.example.com🥖 操作系统检查【本地DNS缓存】(如没有过期,直接返回结果) ( 2025-07-28 计算机网络 #DNS
数组 数组🥤1、基础知识数组是什么 数组是对象的特殊形式,用于按照顺序存储多个值。 因此用 typeof arr 会得到 "object" 12345678例如const arr = [10,20,30]本质是带有【数字索引】和【length】键名的对象:const obj = { 0: 10, 1: 20, 2: 30, length: 3 // 自动维护,值是 2025-07-28 JavaScript #数组
TCP与UDP 一、TCP1、概述🍉关键词:【面向连接的】【可靠的】【传输层协议】 123TCP是一个面向连接的,可靠的传输层协议。它通过三次握手建立连接,四次挥手断开连接。具有流量控制和拥塞控制,能保证数据按序、完整、无重复的传输。应用层的HTTP、HTTPS都是基于TCP的。 2、TCP报文段123TCP报文段是TCP协议在传输数据时的数据单元,由两部分组成:【TCP头部】携带控制信息,包括源端口、目的 2025-07-27 计算机网络 #TCP #UDP
JS_LeetCode10:和为K的子数组 10.和为 K 的子数组 给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列。 前缀和不要想着遍历了,遍历一定会超时的! T T 我们的目标是什么?找出子串! 在数组中随机定位一个子串,假如它满足条件,即和为k。 除了直观的看到它们三个加起来的和等于k,这时候注意观察,这个子串的值其实还可以由红串减去黄串,而红 2025-05-17 LeetCode #前缀和
JS_LeetCode09:找到字符串中所有字母异位词 9.找到字符串中所有字母异位词 给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。 滑动窗口这道题依然是利用滑动窗口的思想。不过这一次的滑动窗口的宽度是固定的,为目标子串的长度。也就是沿着字符串,滑动固定长度的窗口,去比较当前窗口内的字符串是否是子串的异位词。 ?怎么判断是不是异位词呢 这里我首先想到的是将窗口内的子串进行排序, 2025-05-16 LeetCode #滑动窗口
JS_LeetCode08:无重复字符的最长子串 8.无重复字符的最长子串 给定一个字符串 s ,请你找出其中不含有重复字符的 最长 子串 的长度。 滑动窗口本质上也是双指针,它们俩维护了一个窗口,并且窗口可以滑动,也可以伸缩。 它是动态维护子区间的一种算法技巧。 这道题怎么思考呢? 首先left和right指针放在字符串的起始位置,准备出发!谁出发?right指针负责探索!去将满足条件的字符收入窗口,所以right开始出发。但是,我们要怎么 2025-05-15 LeetCode #滑动窗口
JS_LeetCode07:接雨水 7.接雨水 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 双指针好难,想了好久。T T 首先,接雨水问题细化为每一个单位能存放的雨水,而每个单位的雨水容量取决于: 左方向最高的柱子高度、右方向最高的柱子高度、自身柱子高度 这个很关键!如果左方向和右方向的最高柱子高度比自身柱子高,能够蓄水,并且蓄水的容量为左右方向的最高柱子中的较矮柱子高度 2025-05-15 LeetCode #双指针
JS_LeetCode06:三数之和 6.三数之和 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j、i != k 且 j != k ,同时还满足 nums[i] + nums[j] + nums[k] == 0 。请你返回所有和为 0 且不重复的三元组。 注意:答案中不可以包含重复的三元组。 排序这道题呢,首先三个数的求和为0,将问题简化为遍历每个数nu 2025-05-13 LeetCode #双指针