http相关知识点

文章目录

长链接

一张网页实际上可能会有多种元素组成,这也就说明了网页需要多次的http请求。可由于http是基于TCP的,而TCP创建链接是有代价的,因此频繁的创建链接会导致效率降低

为了防止这种情况,就需要两端主机都具备支持长连接的功能,将大份的资源使用一条链接就包含,也就是说这种通过一条链接去包含绝大部分资源的方式就是长链接

在请求报头里有一条属性:Connection

如果将其设为Connection: keep-alive 就代表着支持长链接,如果设为Connection: close就代表关闭长链接

http周边会话保持

在使用浏览器访问某个网站时可以发现,如果在该网站登录过一次,之后每一次打开这个网站都会自动登录不再需要操作登录。这其实就是会话保持。会话保持也就是按照自己的身份进行随意访问

需要注意:http并不是天然具备会话保持的,因为http协议是无状态的

对于网页跳转而言,一旦发生那么新的页面就无法识别是哪一个用户了,为了方便用户的需求,就需要有会话保持的这个技术。

实现这个技术可以有几种方案:

方案1

当用户在浏览器中登录时,浏览器自动的将登录的信息保存起来,例如用户名和密码。往后只要访问同一个网站,浏览器就会自动将历史保留信息推送出来。

用于保存登录信息的文件就叫做cookie 文件。但是这种方案存在这较大风险,如果浏览器中被植入了某种木马,某些不法之徒就会将cookie文件窃取到,从而使用户的信息泄露。服务器只会识别登录信息,就会导致非法用户使用登录信息进行登录。这种行为不仅对个人的危害极大,对社会的危害更大,切不可有这种行为

方案2

方案1是将信息保存到客户端也就是浏览器,方案2的思想是将信息保存到服务器端。

用户在第一次登录时,传递了信息给服务器后,服务器自动形成一个用户的认证信息,并创建一个session文件,将用户的登录信息保存到这个文件里。等服务器处理完请求后,发送响应回去给浏览器同时也将session文件的id发送给浏览器,这个session id用来标识session文件的唯一性。等下次用户再访问网站时,浏览器会将session id传递给服务器,服务器根据session id找到唯一的session文件从而实现自动登录。

但是这种方案也并不是绝对安全的,不法之徒同样可以窃取到session id去非法访问服务器,这时候就需要配合其他的策略去缓解该类问题。主要的想法就是使session id失效,例如在不同的地区登录后,识别到异地就可以使session id失效,就必须得重新登录。

基本工具

postman

下载链接:postman官网

postman可以模仿浏览器行为,像服务器发起请求。可以查看到网页源码等信息

Fiddler

这是一个抓包工具,可以用来调试

Fiddler的原理

Fiddler实际上就是一种代理

相关推荐
fantasy_arch3 小时前
CPU性能优化-磁盘空间和解析时间
网络·性能优化
njnu@liyong4 小时前
图解HTTP-HTTP报文
网络协议·计算机网络·http
ZachOn1y4 小时前
计算机网络:应用层 —— 应用层概述
计算机网络·http·https·应用层·dns
是Dream呀5 小时前
Python从0到100(七十八):神经网络--从0开始搭建全连接网络和CNN网络
网络·python·神经网络
kaixin_learn_qt_ing5 小时前
了解RPC
网络·网络协议·rpc
安全小王子6 小时前
Kali操作系统简单介绍
网络·web安全
Hacker_LaoYi7 小时前
【漏洞分析】DDOS攻防分析(四)——TCP篇
网络·tcp/ip·ddos
爱吃水果蝙蝠汤7 小时前
DATACOM-IP单播路由(BGP)-复习-实验
网络·网络协议·tcp/ip
Sun_12_28 小时前
SQL注入(SQL lnjection Base)21
网络·数据库