随笔分类 -  http

摘要:在前面的章节,我们把HTTP/1.1的大部分核心内容都过了一遍,并且给出了基于Node环境的一部分示例代码,想必大家对HTTP/1.1已经不再陌生,那么HTTP/1.1的学习基本上就结束了。这两篇文章,我会和大家一起,学习一下HTTP/2和HTTP/3。 还记得我们在之前的时间回溯那篇文章里,简单的 阅读全文
posted @ 2023-02-12 20:59 Zaking 阅读(624) 评论(0) 推荐(1) 编辑
摘要:我们在前两篇的内容中分别学习了缓存和代理,大致了解了缓存有哪些头字段,代理是如何服务于服务器和客户端的,那么把两者结合起来,代理缓存,也就是说代理服务器也可以缓存,当客户端请求数据的时候,未必一定要追溯到源服务器上,代理服务器就可以直接把缓存的数据返回给客户端。并且,HTTP的缓存,大多数其实都是由 阅读全文
posted @ 2023-02-09 17:06 Zaking 阅读(456) 评论(0) 推荐(2) 编辑
摘要:代理,其实全称应该叫做代理服务器,它是客户端与服务器之间得中间层,本质上来说代理就是一个服务器,在HTTP的链路中插入的一个中间环节,就是代理服务器啦。所谓的代理服务就是指:服务本身不生产内容,而是处于中间位置转发上下游的请求和响应,具有双重身份。面向下游的用户时,表现为服务器,代表源服务器响应客户 阅读全文
posted @ 2023-02-09 09:42 Zaking 阅读(405) 评论(0) 推荐(2) 编辑
摘要:HTTP缓存相关的问题好像是前端面试中比较常见的问题了,上来就会问什么cache-control字段有哪些,有啥区别啥的。嗯……说实话,我觉得至少在本篇来说,HTTP缓存还算不上复杂,只是字段稍微多了点,大家用心记一下就好啦。 缓存的概念,其实在你访问互联网中的任何资源其所产生的任何链路中的每一个节 阅读全文
posted @ 2023-02-08 21:39 Zaking 阅读(401) 评论(0) 推荐(1) 编辑
摘要:我们在之前的文章中介绍HTTP特性的时候聊过,HTTP是无状态的,每次聊起HTTP特性的时候,我都会回忆一下从前辉煌的日子,也就是互联网变革的初期,那时候其实HTTP不需要有状态,就是个浏览页面,没有什么需要记录信息的地方,所以无状态完全符合当时的场景。 另外,无状态也给HTTP带来了不少的好处,正 阅读全文
posted @ 2023-01-17 23:45 Zaking 阅读(439) 评论(0) 推荐(1) 编辑
摘要:我们知道,用来传输页面的协议就是HTTP协议,全称是超文本传输协议,而浏览器展示的页面则是用HTML编写的,HTML的全称则是超文本标记语言。你看,都叫做超文本,我在第一篇文章的时候也详细的聊过,超文本区别于文本的本质就是文本中具有超链接的文本。 当我们点击页面中的超链接,则会跳转到其它超文本页面, 阅读全文
posted @ 2023-01-16 21:37 Zaking 阅读(1036) 评论(0) 推荐(2) 编辑
摘要:这一篇文章,我们核心要聊的事情就是HTTP的对头阻塞问题,因为HTTP的核心改进其实就是在解决HTTP的队头阻塞。所以,我们会讲的理论多一些,而实践其实很少,要学习的头字段也只有一个,我会在最开始就讲完这个头字段,然后我们安心的去学习接下来的理论知识,嗯……这些理论知识很重要。 那我们就先来看看我们 阅读全文
posted @ 2023-01-10 21:53 Zaking 阅读(1160) 评论(2) 推荐(2) 编辑
摘要:我真没想到这篇文章竟然写了将近一个月,一方面我在写这篇文章的时候阳了,所以将近有两周没干活,另外一方面,我发现在写基于Node的HTTP的demo的时候,我不会Node,所以我又要一边学学Node,一边百度,一边看HTTP,最后百度的东西百分之九十不能用,所以某些点就卡的我特别难受。 比如最后的分段 阅读全文
posted @ 2023-01-07 16:53 Zaking 阅读(944) 评论(0) 推荐(3) 编辑
摘要:本来啊,本来,本来我在准备完善这个鸽了四年的系列的时候,是打算按照时间的顺序来完成的,好吧。我承认那个时候考虑的稍稍稍稍稍微有些不足,就是我忽略了HTTP协议的“模块性“。因为虽然按照时间顺序写写流水账好像是个不错的选择,但是写着写着发现,其实HTTP的头字段,往往是一块一块的,这一块的部分包含了某 阅读全文
posted @ 2022-12-08 17:40 Zaking 阅读(619) 评论(0) 推荐(6) 编辑
摘要:前面几篇文章,我从纵向的空间到横向的时间,再到一个具体的小栗子,可以说是全方位,无死角的覆盖了HTTP的大部分基本框架,但是我聊的都太宽泛了,很多内容都是一笔带过,再加上一句后面再说就草草结束了。并且我还漏了一点东西,就是HTTP本身。 所以那,这一章,我们回到我们的核心论点,来聊一聊HTTP的特性 阅读全文
posted @ 2022-11-24 14:07 Zaking 阅读(544) 评论(0) 推荐(3) 编辑
摘要:前两篇文章,我们从空间和时间的角度都对HTTP有了一定的学习和理解,那么基于上一篇的HTTP发展的时间顺序,我会在后面的文章由浅入深,按照HTTP版本内容的更迭,一边介绍相关字段的使用方法,一边讲解其特性和目的,并和大家一起手写测试代码,学以致用。 当然在真正进入时间线之前,我们还需要一些前置内容, 阅读全文
posted @ 2022-11-16 22:55 Zaking 阅读(535) 评论(1) 推荐(3) 编辑
摘要:上一篇我们简单的介绍了一下DoD模型和OSI模型,还着重的讲解了TCP的三次握手和四次挥手,让我们在空间层面,稍稍宏观的了解了HTTP所依赖的底层模型,那么这一篇,我们来追溯一下HTTP的历史,看一看HTTP在历史上经历了哪些发展和过程,才让这个协议一直经久不衰。 最开始,在20世纪60年代,也就是 阅读全文
posted @ 2022-11-07 21:47 Zaking 阅读(322) 评论(0) 推荐(1) 编辑
摘要:时隔四年,这个系列鸽了四年,我终于觉得我可以按照自己的思路和想法把这个系列完整的表达出来了。 想起四年前,那时候还是2018年的六月份,那时候我还工作不到两年,那时候我翻译了RFC2616的部分内容,发布在了博客园上,并在翻译不久后想要开始整理并学习HTTP相关的知识内容,那时候我以为我可以了。 但 阅读全文
posted @ 2022-10-30 23:07 Zaking 阅读(626) 评论(0) 推荐(3) 编辑
摘要:跨域这个东西,额……抱歉,跨域不是个东西。大家一定都接触过,甚至解决过因跨域引起的访问问题,无非就是本地代理,服务器开白名单。但是,但是!你真的知道跨域背后的原理么?嗯……不就是同源策略么?我知道啊。但是你知道为什么要有同源策略么?同源策略限制了哪些内容?又有哪些内容不受同源策略的限制呢?那么,这篇 阅读全文
posted @ 2022-10-02 17:21 Zaking 阅读(2337) 评论(1) 推荐(4) 编辑
摘要:到此,我们完成了axios的绝大部分的功能,接下来我们来补全一下其他的小功能。 一、withCredentials 这个参数可以可以表明是否是一个跨域的请求。那这个的使用场景是啥呢?就是我们在同域的请求的情况下,是会默认携带cookie的,跨域的话就不会携带cookie,如果我们想要跨域请求并携带c 阅读全文
posted @ 2022-03-18 16:20 Zaking 阅读(659) 评论(0) 推荐(0) 编辑
摘要:按照惯例,我们先来看下官方的例子: 你可以通过axios的CancelToken工厂函数,生成一个source,然后把这个对象作为参数传递给axios,最后,需要取消的时候调用source的cancel方法即可。 你还可以通过在参数中绑定new CancelToken的参数中的回调,来赋值执行取消操 阅读全文
posted @ 2022-03-18 16:19 Zaking 阅读(170) 评论(0) 推荐(0) 编辑
摘要:上一章我们完成了拦截器的代码实现,这一章我们来看看配置化是如何实现的。首先,按照惯例我们来看看axios的文档是怎么说的: 首先我们可以可以通过axios上的defaults属性来配置api。 我们可以自己创建一个axios实例,传入对应的可配置参数,然后还可以通过defaults来修改。其实就是后 阅读全文
posted @ 2022-03-18 10:03 Zaking 阅读(301) 评论(0) 推荐(0) 编辑
摘要:上一篇,我们扩展了Axios,构建了一个Axios类,然后通过这个Axios工厂类,创建真正的axios实例。那么今天,我们来实现下Axios的拦截器也就是interceptors。我们来简单看下Axios的interceptors的API: 首先我们来看,axios上有一个interceptors 阅读全文
posted @ 2022-03-17 16:16 Zaking 阅读(389) 评论(0) 推荐(0) 编辑
摘要:axios源码的分析,到目前为止,算上第0章已经四章了,但是实际上,还都没有进入axios真正的主线,我们来简单回顾下。最开始我们构建了get请求,写了重要的buildURL方法,然后我们处理请求体请求头,响应体响应头,这样我们就可以传json对象了,然后还加入了promise,让我们可以链式点用, 阅读全文
posted @ 2022-03-17 09:51 Zaking 阅读(365) 评论(0) 推荐(0) 编辑
摘要:前面的章节我们已经可以正确的处理正确的请求,并且通过处理header、body,以及加入了promise,让我们的代码更像axios了。这一章我们一起来处理ajax请求中的错误。 一、错误处理 首先我们要知道错误有哪些类型,通常我们遇到的错误有以下几种:网络错误、超时错误和非200状态码错误。其实都 阅读全文
posted @ 2022-03-16 15:47 Zaking 阅读(701) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示