前端网络
文章平均质量分 87
前端网络学习
程序员阿甘
这个作者很懒,什么都没留下…
展开
-
前端网络基础 - Token
Session认证机制存在的问题Session是基于Cookie工作的,所以当浏览器禁用cookie,或者发生跨站请求时,Session就无法工作了。 Session如果存储在服务器内存中,则会占用大量服务器内存,并且当项目是分布式部署到多个服务器时,session共享与同步成为一个问题。 Session如果存储的数据库中,则可以解决分布式部署多个服务器间session共享和同步问题,但是如果数据库挂了,则所有分布式服务器的session认证都会失败,所以数据库也要集群部署,这意味着一份se...原创 2022-03-19 01:26:08 · 3314 阅读 · 0 评论 -
前端网络基础 - Session
Cookie实现身份认证的简单方案基于Cookie实现在浏览器端保存服务器端生成的用户登录状态,并且浏览器端每次请求服务器都会携带用户登录状态cookie。那么 登录状态cookie 该如何设计呢?首先,cookie需要帮助服务器知道请求者是谁,所以cookie中应该包含登录用户的名字然后,cookie需要包含用户密码,这样才能证明我是我。即:服务器端在首次登录的响应中设置两个响应头Set-Cookie,分别为用户名和密码。Cookie的安全性cookie由于保存在浏...原创 2022-03-15 20:11:29 · 11427 阅读 · 1 评论 -
前端网络基础 - Cookie
HTTP协议的无状态性浏览器发送一个HTTP请求到服务器,需要原创 2022-03-07 01:19:30 · 6263 阅读 · 1 评论 -
前端网络基础 - 跨域xhr/fetch
浏览器的同源策略(same-origin policy)同源策略的影响目前所有的浏览器都实现了同源策略,该策略主要影响了不同源浏览器缓存间,不同源网页间,或不同源网页与服务器间三个行为:Cookie、LocalStorage 和 IndexDB 无法读取 DOM 无法获得 AJAX 请求不能发送举例:A网页无法获得B网页缓存在浏览器的Cookie、LocalStorage 和 IndexDB信息,A网页无法获得B网页的DOM对象A网页无法发送AJAX请求到B服务器同..原创 2022-02-27 17:01:34 · 6152 阅读 · 0 评论 -
前端网络基础 - fetch
目录XMLHttpRequest缺点fetch的优点fetch的请求和响应设计RequestResponsefetch函数的用法XMLHttpRequest缺点浏览器提供了原生的AJAX实现类XMLHttpRequest,基于该类实例,我们可以实现在网页上发送AJAX请求到服务端。但是XMLHttpRequest的设计并不完美,主要体现在以下几个方面:HTTP请求,响应都被耦合在XMLHttpRequest实例上,结构不够简单明了 采用事件回调的方式获取HTTP原创 2022-02-21 19:55:36 · 6238 阅读 · 0 评论 -
前端网络基础 - axios源码分析
前端网络基础 - axios使用_qfc_128220的博客-CSDN博客在上一节中,我们分析了axios的基本使用,其中有很多让人一时无法参悟透奥妙的设计。我们来逐一通过源码解析下。目录axios为什么既可以作为函数发送AJAX,也可以作为对象调用get,post等方法发送AJAX?Axios类axios默认的axios函数和axios.create新建的axios函数的差别在哪?axios拦截器是如何实现的axios执行流程axios取消请求简略版axios实原创 2022-02-20 22:11:42 · 3082 阅读 · 0 评论 -
前端网络基础 - axios使用
基于XMLHttpRequest实现AJAX的步骤非常繁琐,XMLHttpRequest发送一个HTTP请求至少需要经过如下几个步骤:1、创建XMLHttpRequest实例xhr2、调用xhr.open方法,设置HTTP请求方法,HTTP请求URL3、调用xhr.send方法,发送HTTP请求另外,XMLHttpRequest实例接收的HTTP响应通常是异步的,所以需要监听readystatechange事件,获取判断xhr.readyState状态值,当状态值为4时,才表示收到完整的异步原创 2022-02-20 19:42:22 · 6108 阅读 · 0 评论 -
前端网络基础-通过XMLHttpRequest实现AJAX (二)
前端网络基础-通过XMLHttpRequest实现AJAX_qfc_128220的博客-CSDN博客前面讨论了如何通过XMLHttpRequest实现基本的AJAX,即如何发送异步的HTTP请求,如何接收异步的HTTP响应。但是没有考虑到HTTP请求的正常过程,HTT请求的异常场景:请求超时,HTTP请求发生异常(网络错误),以及如何取消一个HTTP请求。XMLHttpRequest为我们提供了一系列属性和事件处理程序属性来帮助我们控制HTTP请求过程中的情况。目录超时设置,以及超时原创 2021-12-28 12:40:51 · 990 阅读 · 0 评论 -
前端网络基础-通过XMLHttpRequest实现AJAX(一)
Ajax介绍Ajax(Asynchronous Javascript And XML)即 异步的Javascript和XML。Ajax是指通过JavaScript发送异步的HTTP请求,请求数据的格式采用XML。Ajax有三个特点:1、A:asyncAjax一个重要特征就是它可以发送异步的HTTP请求。而在Ajax出现以前,只有通过刷新网页来实现人为发起同步的HTTP请求。当然也有一些标签支持发起异步的HTTP请求,比如script标签(带defer或async属性),lin..原创 2021-12-26 19:54:01 · 2977 阅读 · 3 评论 -
前端网络基础-GET和POST的区别
GET和POST是HTTP协议最常用的两种请求方法。所以我们需要了解它们之间的区别,才能更好,更合适地使用它们。如何触发GET和POST请求?对于GET来说:1、浏览器地址栏输入网址后回车,会触发GET请求2、HTML文档中script标签,link标签,img标签引入外部文件时,会触发GET请求3、通过点击a标签超链接跳转网页,会触发GET请求4、通过form表单发起GET请求5、通过ajax发起GET请求对于POST来说:1、通过form表单发起POST请求原创 2021-12-25 23:00:57 · 3228 阅读 · 0 评论 -
前端网络基础-应用层DNS协议
在浏览器的地址栏中网址,如 https://blog.csdn.net/qfc_128220/article/details/122059909原创 2021-12-23 16:39:28 · 2630 阅读 · 0 评论 -
前端网络基础-应用层HTTP协议
前情回顾应用层其实网络分层模型中最贴近用户的,而应用层的主要作用包括如下:1、按照协议,将应用层程序输入数据整理为请求报文2、将请求报文从字符转为字节流,并发送给传输层3、将传输层的字节流数据,转为字符,即响应报文4、将响应报文反馈给应用层程序除了以上基本工作外,还包括,让应用程序适配操作系统(表示层),让应用程序支持控制传输层TCP连接的建立和释放,以及数据包自动重发(会话层)。前面介绍了应用层的DNS协议,但是DNS协议只是用来解析域名的,无法处理用户输入的数据。而应用层原创 2021-12-24 18:09:19 · 2451 阅读 · 0 评论 -
前端网络基础-传输层UDP协议
UDP(User Dategram Protocol)即用户数据报协议它也是传输层协议。我们需要知道数据分为重要数据和不重要数据,比如你发了一封邮件,下载文件,这些都是重要数据,少了一点,可能文件就会报错,打不开,所以对于这些数据,我们看重的是完整性,正确性。但是比如你看网络直播,或打IP电话,打网络游戏,这种对数据实时性要求比较高,对数据传输速度要求快的,我们反而不太在意数据的完整性。比如你看网络直播时,忽然卡了一下,其实完全不影响整体看直播的体验,或者打游戏时,你根本不在乎数据是否完整,原创 2021-12-22 14:51:35 · 3218 阅读 · 0 评论 -
前端网络基础-TCP为啥这么可靠
我们知道TCP是面向连接的可控传输协议。它是一种可靠的传输机制。那么它到底哪里可靠呢?我们在网络中进行数据传输时,可能会遇到的问题有:1、丢包2、重包3、错包丢包,即数据包传输过程中丢失了,接收方没有收到。重包,即相同数据包重复发送了,接收方收到了多个相同包。错包,即数据包在传输过程中被篡改了,接收方收到了错误的包。如果可以解决以上四种问题,基本上就可以实现可靠传输。那么TCP协议是如何解决上面四个问题的呢?我们知道数据到达传输层后,会按照一定字节数分段,原创 2021-12-22 14:31:20 · 682 阅读 · 0 评论 -
前端网络基础-传输层TCP协议
我们已经知道物理层的作用是将 比特流 转化为 模拟信号,在物理链路中进行传输数据链路层作用是:1、解封或封装 mac头部(包含源mac和目标mac) 到 数据包中,形成数据帧 2、将数据帧转化为比特流网络层的作用是:1、通过IP协议,判断目标IP是否和源IP在同一个子网下,即数据包是否要跨网段传输 2、如果要跨网段,则通过路由协议找到最佳路由 ...原创 2021-12-21 19:04:04 · 1498 阅读 · 0 评论 -
前端网络基础-网络层IP协议和路由协议
上一节中,我们知道两台主机如果想要通信,则主机A必须要知道主机B的ip地址和mac地址,如果不知道,则主机A会广播一条arp协议请求给同一子网下的所有主机。那么什么叫同一子网下呢?我们知道主机A的ip地址是 192.168.0.118 主机B的ip地址是 192.168.0.101那么它们属于同一子网吗?首先我们需要知道IP地址的组成:在类别上,ip地址分为 ipv4 和 ipv6 ,我们这里只讨论ipv4。在形式上,ipv4地址分为四部分,各部分...原创 2021-12-21 12:14:02 · 1006 阅读 · 0 评论 -
前端网络基础-跨网段ARP请求过程
前端网络基础-网络层的ARP协议_qfc_128220的博客-CSDN博客之前介绍过根据ip地址获取同一子网下的其他主机的mac地址那么如何根据跨网段ip地址,即获取不在同一子网下的其他主机的mac地址呢?1、主机A网络层在收到数,并封装为数据包后,准备发送数据包之前,根据IP协议来判断:目标IP地址和自身IP地址是否在同一个子网,发现目标IP不在当前子网内,所以该数据包应该交由默认网关来转发2、主机A检查自身ARP缓存表,根据默认网关IP找mac地址,如果没找到,则广播一条arp请求,原创 2021-12-21 13:14:29 · 2150 阅读 · 0 评论 -
前端网络基础-网络层的ARP协议
无论是OSI七层网络模型,还是TCP/IP四层网络模型,它们都有一个网络层。网络层的作用有如下几个:1、根据目标IP找到目标设备的MAC地址,帮助后续数据链路层的数据封装MAC头部2、IP寻址3、最优路径这里我们先讨论1:网络层如何根据目标IP找到目标设备的MAC地址。网络层有一个协议ARP(address resolution protocol),该协议就是用来根据设备IP查找设备MAC地址。ARP协议的功能实现:1、每台设备都有一个ARP缓存表,在该表中存储的是 IP原创 2021-12-20 18:31:37 · 641 阅读 · 0 评论 -
前端网络基础-网络分层模型
OSI七层网络模型中各层的作用物理层物理层提供了两台机器互联的物理链路,比如网线(双绞线,光纤),无线网(电波)。物理层不仅提供了物理链路,还提供了数据传输能力,比如双绞线使用电信号,光纤使用光信号,无线网使用电波信号,实现数据传输。物理层使用信号来模拟出二进制数据0和1,来实现复杂数据的简单表示,所以物理层中数据也被称为比特流(因为二进制每一位都是bit,比特)。数据链路层物理层的比特流是一串0和1组成的信息流,它们之间没有分隔,所以无法被机器识别。而数据链路层的.原创 2021-12-20 16:38:35 · 1744 阅读 · 0 评论