HTTP网络相关知识

@1 第一步:
        URI(统一资源标识符)= URL(统一资源定位符)+URN(统一资源名称);
@2 传输协议:
        HTTP: 超文本传输协议
        HTTPS: HTTP + SSL(加密证书)相对于http传输会更加安全
        FTP: 文件的传输 上传工具 资源共享 
        域名:域名是外网IP一个标识,相对于IP来说牢记比较困难,域名会更加便捷。
        端口号:0-65535,每个端口号对应统一服务器 中不用的项目,默认http:80, https:443.
        编码问题,如果url对应参数存在中文特殊字符等,传递的时候会解析出错,这时候需要编码
        encodeURL / decodeURL ; (适合解析url所有的), 
        encodeURLComponent / decodeURLComponent ;  适合解析url特殊字符中的

 @3 强缓存与协商缓存
        强缓存:
        http/1.1 Cache-Control  max-age = 259200 
        http/1.0 Exprices  Sun, 15 May 2022 20:14:22 
        存在问题, 如果本地有缓存, 然而服务器更新了资源如何保障客户端获取最新的?
        这个时候我们可以把 css js 最缓存,但是不能对 html 页面 做缓存。因为html页面是渲染的入
        口,其他资源在渲染解析HTML的时候再去请求的。
        协商缓存: 哪怕本地有缓存也要和服务器进行协商
        第一次请求页面,本地没有缓存,向服务器发送请求,如果需要设置协商缓存,在响应头返
        回相对应的字段。【last-modified 记录资源最后一次更新的时候】【Etag 记录资源最后一次
        更新的标识】,客户端浏览器看到标识,会把标识和资源全部做缓存。
        第二次向服务器发送请求的时候也是会重新发送的,会把协商缓存存储的标识和资源通过
        【if-modified-since/if-None-math】传递给服务器,服务器如果返回的304则说明资源没有更
        新,从本地缓存中获取就可以了。 如果资源更新了,则返回200,使用服务器新的资源,同
        时把最新的资源缓存起来。
        真实项目开发中,建议HTML页面采用协商缓存,其他界面采用协商和强缓存。

@4 数据缓存:前端开发者对于不常更新的数据做本地缓存。
        本地缓存分类:
        1 localStorage: 持久化存储,内存5M,默认和服务器没有关系。手动设置有效期。
        2 cookie:具有时间性,存储内存4KB, 如果不跨越的情况下,每次请求会自动把cookie携带
        给服务器,造成请求慢
        3 sessionStorage:浏览器关闭或者页面刷新 缓存清除。

@5 DNS域名解析:
        浏览器输入URL地址之后,会去DNS服务器寻找对于的外网ip,找到服务器。
        DNS解析也会有缓存【谷歌浏览器缓存在1min】
        前端优化: 尽可能减少DNS解析的次数(也就是所有的资源 部署到相同的服务器)
        真实项目中:不会部署到同一服务器中,【web服务器 图片服务器 数据服务器】
        解决方法、DNS预解析,利用<link></link>的异步性。在GUI渲染的过程中 同时解析域名。

@6 TCP三次握手【客户端与服务器建立一个稳定的传输通道】
        TCP:稳定可靠,经过三次握手确定传输稳定性 消耗时间久 常规业务都用他。
        UDP:快速传递,省略三次握手,存在丢包的情况。

@7 数据传输:
        http请求报文:请求体 请求起始行 请求主体
        http响应报文:响应头 响应起始行 响应主体

@8 TCP的四次挥手,【断开用户端和服务器的链接】
        http1.1版本默认开启了Connection:keep-alive长链接,当前请求数据传输完成后不会断开链
        接,下次请求会基于这个传输通道继续,减少了tcp三次握手,四次挥手的问题。

@9  性能优化总结:
        1 利用缓存: 协商缓存 强缓存  本地存储
        2 DNS优化: 分服务部署,采用DNS预解析
        3 Tcp三握四挥,采用Conenction:keep-alive 
        4 数据传输: 服务器开启GZIP压缩,大数据分批次请求,减少HTTP请求次数 CDN采用分布
        式, 骨架屏 图片延迟加载 
        
        
        

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

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

相关文章

使用Vue3 + Vite创建uni-app项目(Webstorm)

使用Vue3 Vite创建uni-app项目&#xff08;Webstorm&#xff09; 参考&#xff1a;前端VUE3Vite UniAPP-- 框架搭建_uniapp vite-CSDN博客 // 参考github.com的库&#xff1a;https://github.com/dcloudio/uni-preset-vue npx degit dcloudio/uni-preset-vue#vite-ts vite-vu…

【SQL】delete 与 truncate 命令的区别

区别 truncatedelete属于 DDL(数据定义语言) 范畴属于 DML(数据操作语言) 范畴删除表数据&#xff0c;不能删除视图数据删除表数据&#xff0c;删除视图数据只可以梭哈删除通过 where 进行选择性删除不涉及事务处理删除表中数据涉及事务处理效率高、但无法撤销效率低&#xff…

【mars3d】new mars3d.layer.GeoJsonLayer({实现多孔面遮罩mask: true,

【mars3d】new mars3d.layer.GeoJsonLayer({实现多孔面遮罩 官网测试示例&#xff1a; 1.功能示例(Vue版) | Mars3D三维可视化平台 | 火星科技 测试代码&#xff1a; export function showDraw(isFlyTo) { removeLayer() const geoJsonLayer new mars3d.layer.GeoJsonLaye…

神经网络-搭建小实战和Sequential的使用

CIFAR-10 model structure 通过已知参数&#xff08;高、宽、dilation1、kernel_size&#xff09;推断stride和padding的大小 网络 import torch from torch import nnclass Tudui(nn.Module):def __init__(self):super(Tudui, self).__init__()self.conv1 nn.Conv2d(in_chan…

TSConfig 配置(tsconfig.json)

详细总结一下TSConfig 的相关配置项。个人笔记&#xff0c;仅供参考&#xff0c;欢迎批评指正&#xff01; 另外&#xff0c;如果想了解更多ts相关知识&#xff0c;可以参考我的其他笔记&#xff1a; vue3ts开发干货笔记ts相关笔记&#xff08;基础必看&#xff09;ts相关笔记…

LeetCode-有效的字母异位词(242)

题目描述&#xff1a; 给定两个字符串 s 和 t &#xff0c;编写一个函数来判断 t 是否是 s 的字母异位词。 注意&#xff1a;若 s 和 t 中每个字符出现的次数都相同&#xff0c;则称 s 和 t 互为字母异位词。 思路&#xff1a; 这题还是比较简单的&#xff0c;首先将两个字符…

快乐学Python,Python基础之代码复用?「函数」

上一篇文章中&#xff0c;我们了解了代码的分支结构&#xff08;if 家族语句&#xff09;和循环结构&#xff08;for 循环和 while 循环&#xff09;。通过了解这些结构&#xff0c;我们已经能够写出稍微复杂一些的代码。但当代码一多&#xff0c;就会遇到一些问题。 上一篇文…

盖子的c++小课堂——第二十三讲:背包问题

前言 又是一次漫长的更新&#xff08;我真不是故意的aaaaaaaaaaaaaaa&#xff09;&#xff0c;先不多说了&#xff0c;直接给我~坐下~说错了说错了&#xff0c;直接开始~ 背包问题----动态规划 背包问题&#xff08;knapsack problem&#xff09; 动态规划&#xff08;dyna…

基于python的leetcode算法介绍之动态规划

文章目录 零 算法介绍一 例题介绍 使用最小花费爬楼梯问题分析 Leetcode例题与思路[118. 杨辉三角](https://leetcode.cn/problems/pascals-triangle/)解题思路题解 [53. 最大子数组和](https://leetcode.cn/problems/maximum-subarray/)解题思路题解 [96. 不同的二叉搜索树](h…

企业出海数据合规:GDPR中的个人数据与非个人数据之区分

GDPR仅适用于个人数据&#xff0c;这意味着非个人数据不在其适用范围内。因此&#xff0c;个人数据的定义是一个至关重要的因素&#xff0c;因为它决定了处理数据的实体是否要遵守该法规对数据控制者规定的各种义务。尽管如此&#xff0c;什么是个人数据仍然是当前数据保护制度…

uniapp微信小程序投票系统实战 (SpringBoot2+vue3.2+element plus ) -小程序首页实现

锋哥原创的uniapp微信小程序投票系统实战&#xff1a; uniapp微信小程序投票系统实战课程 (SpringBoot2vue3.2element plus ) ( 火爆连载更新中... )_哔哩哔哩_bilibiliuniapp微信小程序投票系统实战课程 (SpringBoot2vue3.2element plus ) ( 火爆连载更新中... )共计21条视频…

Docker 镜像以及镜像分层

Docker 镜像以及镜像分层 1 什么是镜像2 Docker镜像加载原理2.1 UnionFs&#xff1a;联合文件系统2.2 Docker镜像加载原理2.3 Docker镜像的特点 3 镜像的分层结构4 可写的容器层 1 什么是镜像 镜像是一种轻量级、可执行的独立软件包&#xff0c;用来打包软件运行环境和基于运行…

数据处理四 基于图像hash进行数据整理(删除重复图片、基于模版查找图片)

一、背景知识 1.1 什么是hash Hash&#xff0c;一般翻译做“散列”&#xff0c;也有直接音译为“哈希”的&#xff0c;基本原理就是把任意长度的输入&#xff0c;通过Hash算法变成固定长度的输出。这个映射的规则就是对应的Hash算法&#xff0c;而原始数据映射后的二进制串就…

程序员必知!命令模式的实战应用与案例分析

命令模式是一种行为设计模式&#xff0c;它将请求封装为对象以实现客户端参数化、请求排队、日志记录及撤销操作&#xff0c;旨在解耦调用者与操作实现者&#xff0c;以智能家居为例&#xff0c;用户通过界面发送命令对象&#xff0c;设备作为接收者执行相应操作&#xff0c;无…

Ubuntu 安装Nginx服务

文章目录 前言一、Nginx安装1. Nginx默认安装2. Nginx指定版本安装3. Nginx验证4. Nginx服务控制4.1 查看服务状态4.2 停止服务4.3 启动服务4.4 重启服务 5. Nginx文件存放目录 二、自己编译Nginx1. 下载源码2. 依赖配置3. 编译 三、Nginx卸载总结 前言 Nginx&#xff08;发音为…

SDN和NFV最明显的区别,SDN和传统网络有什么区别

目录 SDN和NFV最明显的区别是 SDN和传统网络有什么区别 一、SDN概述 1.1 S

Fixed win size sliding window

这篇记录灵神题单中的定长滑窗环节&#xff0c;不跟之前的Sliding Window一起了。 1. LC 1423 可获得的最大点数 这题其实有点思维的。实现上简单。 每次从首或者尾部拿&#xff0c;总共拿k次。相当于有n-k张牌不拿。因为不可能从中间截断着拿&#xff0c;因此必然这n-k张牌…

分布式(2)

目录 6.Ribbon和Feign的区别有哪些&#xff1f; 7.SpringCloud和dubbo有什么区别&#xff1f; 8.服务注册和发现是什么意思&#xff1f;SpringCloud如何实现&#xff1f; 9.介绍下网关的作用&#xff1f; 10.谈谈服务降级&#xff0c;熔断&#xff0c;服务隔离&#xff1f;…

机器学习(四) -- 模型评估(3)

系列文章目录 机器学习&#xff08;一&#xff09; -- 概述 机器学习&#xff08;二&#xff09; -- 数据预处理&#xff08;1-3&#xff09; 机器学习&#xff08;三&#xff09; -- 特征工程&#xff08;1-2&#xff09; 机器学习&#xff08;四&#xff09; -- 模型评估…

通货紧缩,通货膨胀

目录 通货紧缩 通货膨胀 通货紧缩 是一个与通货膨胀相对应的经济学概念&#xff0c;是由货币供给量相对于经济增长和劳动生产率提高等要素减少而引致的有效需求严重不足 一般物价水平持续下跌&#xff0c;货币供给量持续下降和经济衰退的现象。当市场上流通的货币减少&…