![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
http
文章平均质量分 69
前端同学
学习为主,兴趣为辅,致力于向前端更深层次发展。
展开
-
HTTP/0.9 到 HTTP/3.0
HTTP协议是HyperText Transfer Protocol(超文本传输协议)的缩写,它是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。伴随着计算机网络和浏览器的诞生,HTTP1.0也随之而来,处于计算机网络中的应用层,HTTP是建立在TCP协议之上,所以HTTP协议的瓶颈及其优化技巧都是基于TCP协议本身的特性,例如TCP建立连接的3次握手和断开连接的4次挥手以及每次建立连接带来的RTT延迟时间。每次请求都必须新建一次连接(connection),必须通过tcp的三次握手原创 2022-06-15 14:33:14 · 620 阅读 · 0 评论 -
在地址栏输入url发生了什么,详细
1 URL 进行解析,分析所需要使用的传输协议和请求的资源的路径。如果输入的 URL 中的协议或者主机名不合法,将会把地址栏中输入的内容传递给搜索引擎。如果没有问题,浏览器会检查 URL 中是否出现了非法字符,如果存在非法字符,则对非法字符进行转义后再进行下一过程。2、缓存判断:浏览器会判断所请求的资源是否在缓存里,如果请求的资源在缓存里并且没有失效,那么就直接使用,否则向服务器发起新的请求。3、DNS解析:下一步首先需要获取的是输入的 URL 中的域名的 IP 地址,首先会判断本地是否有该域名的 I原创 2022-04-14 14:40:16 · 2076 阅读 · 0 评论 -
前端内容安全策略(csp)
什么是CSPCSP全称Content Security Policy ,可以直接翻译为内容安全策略,说白了,就是为了页面内容安全而制定的一系列防护策略. 通过CSP所约束的的规责指定可信的内容来源(这里的内容可以指脚本、图片、iframe、fton、style等等可能的远程的资源)。csp是一个额外的安全层,用于检测并削弱某些特定类型的攻击,包括跨站脚本 (XSS) 和数据注入攻击等。无论是数据盗取、网站内容污染还是散发恶意软件,这些攻击都是主要的手段通过CSP协定,让WEB处于一个安全的运行环境中。原创 2022-02-09 10:10:28 · 3121 阅读 · 0 评论 -
CDN刷新和预热
CDN提供资源的刷新和预热功能。通过刷新功能,您可以强制CDN节点回源并获取最新文件;比如当图片错误的时候刷新功能是指提交URL刷新或目录刷新请求后,CDN节点的缓存内容将会被强制过期,当您向CDN节点请求资源时,CDN会直接回源站获取对应的资源返回给您,并将其缓存。刷新功能会降低缓存命中率。通过预热功能, 您可以在业务高峰期预热热门资源,提高资源访问效率。预热功能是指提交URL预热请求后,源站将会主动将对应的资源缓存到CDN节点,当您首次请求时,就能直接从CDN节点缓存中获取到最新的请原创 2021-11-02 20:46:21 · 2349 阅读 · 0 评论 -
encodeURI,encodeURIComponent有什么区别?
不同点它们都是编码URL,唯一区别就是编码的字符范围,其中encodeURI方法不会对下列字符编码 :ASCII字母 数字 ~!@#$&()=:/,;?+'*encodeURIComponent方法不会对下列字符编码ASCII字母 数字 ~!*()’所以encodeURIComponent 比 encodeURI编码的范围更大。encodeURI 是用来处理整个 URI 的,它应该接受 URI 的 protocol, host, port 等部分,只对 path 和 que原创 2021-08-10 20:57:13 · 2966 阅读 · 0 评论 -
http 返回的状态码大全
100 Continue 继续。客户端应继续其请求101 Switching Protocols 切换协议。服务器根据客户端的请求切换协议。只能切换到更高级的协议,例如,切换到 HTTP 的新版本协议200 OK 请求成功。一般用于 GET 与 POST 请求201 Created 已创建。成功请求并创建了新的资源202 Accepted 已接受。已经接受请求,但未处理完成203 Non-Authoritative Information 非授权信息。请求成功。但返回的 meta 信息不在原始的转载 2021-08-03 10:26:04 · 1829 阅读 · 0 评论 -
fetch和axios区别,有什么优缺点
FetchFetch是一个浏览器的底层API,优点:浏览器级别支持的原生API支持primise语法简介,符合es标准由whatwg提出,现在已经符合w3c规范缺点:不支持文件上传进度监控需要封装才能使用不支持请求中止默认不带cookieAxiosaxios是一个封装好的框架支持浏览器和nodejs服务端发请求支持primise语法支持自动解析JSON支持中断请求支持拦截请求支持请求进度拦截支持客户端防止CSRF...原创 2021-05-20 15:40:53 · 307 阅读 · 0 评论 -
前端基础-浏览器缓存/HTTP缓存机制(面试常考)
浏览器的缓存机制也就是我们说的HTTP缓存机制,其机制是根据HTTP报文的缓存标识进行的,所以在分析浏览器缓存机制之前,我们先使用图文简单介绍一下HTTP报文。一、HTTP报文HTTP报文分为两种:1.HTTP请求(Request)报文报文格式为:请求行 – HTTP头(通用信息头,请求头,实体头) – 请求报文主体(只有POST才有报文主体),如下图2.HTTP响应(Response)报文报文格式为:状态行 – HTTP头(通用信息头,响应头,实体头) – 响应报文主体,如下图二、缓存转载 2021-05-20 15:29:45 · 223 阅读 · 0 评论 -
sessionStorage、localStorage 、cookies、token、session、jwt区别
cookies、sessionStorage、localStorage 和 indexDB 的区别是否在http请求只能够携带cookie数据始终在同源的http请求中携带,跨域需要设置withCredentials = truesessionStorage和localStorage、indexDB不会自动把数据发给服务器,仅在本地保存存储大小cookie数据大小不能超过4k;sessionStorage和localStorage虽然也有存储大小的限制,但比cookie大得多,可以原创 2021-05-08 14:18:08 · 792 阅读 · 4 评论 -
TCP和UDP的区别
TCP传输控制协议(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议UDP 用户数据报协议(User Datagram Protocol)是一种无需建立连接就可以发送封装的 IP 数据包的方法是否连接是否可靠连接对象个数传输方式首部开销适用场景TCP面向连接可靠传输一对一面向字节流20到60字节适用于需可靠传输的应用UDP不用连接不可靠传输都支持面向报文开销小,仅8字节适用于实时应原创 2021-04-29 17:24:29 · 87 阅读 · 0 评论 -
深入理解https,对称加密和非对称加密
我们都知道HTTP是超文本传输协议,信息是明文传输,http的连接很简单,是无状态的,默认端口号80而HTTPS协议是由HTTP协议+SSL构建的可进行加密传输、身份认证的网络协议,但会比http耗时,默认端口号443,SSL证书的加密算法可以分为对称加密算法和非对称加密算法对称加密算法指的是加密和解密用的是同一个密钥。非对称加密算法主机A和B都有一个自己的公钥和私钥,公钥全世界都可以知道,而私钥只有自己知道。并且用私钥加密的数据,只有对应的公钥才可以解开;用公钥加密的数据只有对应得私钥才可以原创 2021-04-14 20:51:19 · 1798 阅读 · 0 评论 -
从输入url到页面加载完成发生了什么?梳理
1、浏览器的地址栏输入URL并按下回车。1、浏览器查找当前URL是否存在缓存,并比较缓存是否过期。2、DNS解析URL对应的IP。3、根据IP建立TCP连接(三次握手)。4、HTTP发起请求。5、服务器处理请求,浏览器接收HTTP响应。6、渲染页面,构建DOM树。7、关闭TCP连接(四次挥手)。1.查找当前URL是否存在缓存,并比较缓存是否过期。浏览器缓存,HTTP缓存有多种规则,根据是否需要重新向服务器发起请求来分类,将其分为强制缓存,协商缓存。浏览器会先判断强缓存能否命中,命中的话原创 2021-04-14 17:35:34 · 1145 阅读 · 0 评论 -
请求行、请求头、请求体解析
一个完整的HTTP请求包括:请求行、请求头、请求体这里面最常用到的就是状态码,很多时候都是通过状态码来判断,如(列举几个最常见的):200–表明请求被成功的完成,所请求的资源发送回客户端 304–自从上次请i去后,请求的网页没有修改,请客户端使用本地缓存400–客户端请求有错误(可能是安全等模块拦截了) 401–请求未经授权 403–禁止访问(比如未登录时的禁止访问)404–资源找不到 500–服务器内部错误 503–服务不可用再列举一下大致范围内状态码的意义1xx——指示信息,表示请求已原创 2021-04-14 17:26:39 · 5118 阅读 · 0 评论 -
get和post的区别
1、GET:一般用于信息获取,POST一般用于数据的提交2、GET: 传送的数据量较小,不能大于2KB。post 传送的数据量较大,一般被默认为不受限制。3、GET把参数包含在URL中,POST通过request body传递参数。所以GET比POST更不安全,因为参数直接暴露在URL上,不能用来传递敏感信息。4.GET和POST还有一个重大区别,get会产生一个tcp数据包,post两个不过并不是所有浏览器都会在POST中发送两次包,Firefox就只发送一次。get请求时,浏览器会把head原创 2021-04-14 17:17:23 · 106 阅读 · 0 评论 -
http cors简单请求和非简单请求
在开发中,我们会发现出现了一个options请求的错误,如果第一次看到的小伙伴就会很疑惑了,http请求方式什么时候出现了options,这是因为CORS请求的简单请求和非简单请求的原因。简单请求:同时满足两大条件请求方式:GET、POST、HEAD(注:什么是HEAD请求?HEAD请求和GET本质是一样的,但是HEAD请求不含数据,只有HTTP头部信息)HTTP头部信息不超过以下几种字段:无自定义头部字段、Accept、Accept-Language、Content-Language、Las原创 2020-10-19 17:41:57 · 341 阅读 · 0 评论 -
TCP 3次握手 4次挥手
三次握手在TCP/IP协议中,TCP 协议提供可靠的连接服务,连接是通过三次握手进行初始化的。(1)第一次握手:Client将同步标志位SYN设置为1,随机生成一个序列号x,并将数据包发送给Server。此时Client进入SYN_SENT状态,等待Server确认。(2)第二次握手:Server接收到数据包之后,由SYN=1得知这是Client请求建立连接。Server将同步标志位SYN设置为1,将确认标志位ACK设置为1,ack = x+1,随机生成一个序列号y,并将数据包发送给Client确认请原创 2020-10-15 10:33:54 · 96 阅读 · 0 评论