http相关知识点

简介: 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可以模仿浏览器行为,像服务器发起请求。可以查看到网页源码等信息

9e5fc7ea0293d7e7303e16f1617dc3af.png

Fiddler

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


05dd83ddf334ebeb00890dd7e437c464.png

Fiddler的原理

f55405c854d70a73b4e49536d976df7d.png

Fiddler实际上就是一种代理

目录
相关文章
|
缓存 网络协议 前端开发
【前端面试知识点】- 1. http&https
http: 是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从 WWW 服务器传输超文本到本地浏览器的超文本传输协议。
【前端面试知识点】- 1. http&https
|
6月前
|
存储 安全 API
掌握 HTTP Authorization 头:关键知识点解析
在当今的互联网世界中,安全性贯穿于 web 应用的每个方面,HTTP Authorization 头的使用在这个过程中扮演着不可或缺的角色。它是 HTTP 请求中的一个重要部分,用来在客户端和服务器之间安全地传输认证信息。用途广泛,无论是浏览器还是其他客户端应用,都依赖它来验证用户的访问权限。本文旨在详细解读 HTTP Authorization 头的定义、使用方式以及不同的认证机制。
|
6月前
|
前端开发 JavaScript API
HTTP报文:知识点
HTTP报文:知识点
51 0
|
6月前
|
存储 XML JavaScript
必备指南:掌握这些知识点,轻松应对面试官问的HTTP请求相关面试题!
必备指南:掌握这些知识点,轻松应对面试官问的HTTP请求相关面试题!
|
缓存 前端开发 JavaScript
HTTP协议基础知识点
HTTP协议 1、什么是HTTP协议 什么是协议 ​ 协议是指双方或多方相互约定好的,大家都要遵守的规则
|
Web App开发 缓存 前端开发
JavaScript扩展知识点 01、前后端交互与HTTP协议
JavaScript扩展知识点 01、前后端交互与HTTP协议
JavaScript扩展知识点 01、前后端交互与HTTP协议
|
缓存 算法 网络协议
HTTP 的15个常见知识点复习 下
HTTP 的15个常见知识点复习 下
126 0
|
Web App开发 缓存 网络协议
Javaweb重要知识点总结(二)Http 协议
Javaweb重要知识点总结(二)Http 协议
|
存储 缓存 自然语言处理
搞定服务器面试 - HTTP协议知识点整理
HTTP 协议是 Hyper Text Transfer Protocol(超文本传输协议) 的缩写,是用于浏览器与服务器之间传输文字、图片、音频、视频等超文本数据的约定和规范。

热门文章

最新文章