web | http 的一些问题 | get/post的区别 | http版本 | http与https的区别 | session、cookie、token

怎么来说呢?这应该算一个大类了,基本上设计网络的应用层

当然重要的是从网络层----->应用层 (杠精勿杠,知道中间还有其他层)
先来讲一下http的结构

都知道http 有三部分,头部、请求头和body

头部:请求方式(等下会介绍get/post)、url、http版本

\r\n

请求头部:包括body数据类型(有的是压缩文件、文本文件(json格式、xml格式))、语言、token、主机信息(用户代理,浏览器身份识别器)

body

接下来将一下get/post的区别

首先从url开始说起,都知道get 会把用户的信息啥的都暴露在url上,所以,这也隐含了其他信息,就是get 的url只支持ASCII文件格式(如果是中文需要curl转码),然后长度方面get 有限制(好像是256?)然后post没有限制、get不支持复杂加密,post支持。所以对于表单这种信息密度贼高而且贼重要的数据就是采用post方式提交了啊(数据都放在body)

然后get方法具有幂等性,而post不具备。什么是幂等性呢?就是同样的请求被执行一次与被执行多次的效果是一样的,服务器的状态也是一样的。(也就是说幂等方式之后不应该有副作用)

然后还有一个要注意的就是,posto会发送两次tcp数据包,这也跟浏览器有关。

比如使用xml 的post响应,浏览器会先发送头部再发送数据,但是有的浏览起不会,比如火狐。

讲到这里,接下来就要讲http 的长连接与短连接,对于正常流程来说(因为是基于tcp通信,所以要先三次握手,再发送数据,数据发送完了,就要四次挥手)

但是有时候根据发送的数据类型,有的是单次的,有的是多次高频,密度贼高,向包含多媒体的资源,除了请求访问的页面资源还有请求多媒体的资源,这个过程就需要发送多个http请求,假如是每次发送一条数据就三次握手、四次挥手,就会造成服务器压力过高,这当然也就是我们常说的短连接。

对于上面的业务需求,就需要使用长连接,而什么长连接呢?就是在三次握手建立通信之后,把数据一次性全部发送出去,然后再四次挥手断开连接。

需要注意:http/1.0之前默认的都是短连接,如果需要使用长连接需要设置为Connection:Keep-Alive,而在http/1.0之后都是默认的都是长连接,度过需要断开连接,需要客户端或者服务器端提出断开,然后首部为:Connection:close

接下来要讲一下cookie和session


再讲一下https中的s

因为http是不安全的协议,为什么?你用抓包工具抓包看一下,数据全部公开!

然后 s 表示的是安全嘛

那如何保证数据的安全?

加密嘛,怎么加密,其实也是采用了ssl ssh 那套加密逻辑,服务器先发公钥,客户端通过公钥,但是如果中间有一个主机监听,相当于转发器,然后它也可以自然的获得公钥,然后采用同样的方式获得加密、解密。所以这时候就出来了一个数字证书。服务器先向数字证书机构申请数字证书,然后数字证书机构对数据做签名,将数据和数字签名打包一起做成数字证书发送服务端,在https通信的时,服务器会把数字证书发送给客户端。客户端获取数据和数字签名,使用数字证书机构公开的密钥验证数据和签名是否合法。

还有一点要注意哈,也不是大问题,就是,http 采用的是80端口,而https采用的是443端口

ps:现在的博客,很多都是乱七八糟,而且很多都是cv工程师,再一个可靠性也要打一个问号?这当然也是对入门的新手劝退教学吧!其实有时候特别想问这些人?你们发文章、写博客就不动脑子想一下,然后就直接cv发表吗?重点是全是标题党!

当然,也有一些写的很好的博客。

token--参考这篇

相关推荐
XIE3925 分钟前
TipKit:开源富文本编辑器套件,一套逻辑,任意风格!
前端·笔记·开源
xieliyu.7 分钟前
HTTPS 加密流程深度解析|从 HTTP 痛点到 TLS 握手全过程
网络·笔记·网络协议·计算机网络·http·https
范什么特西19 分钟前
一些常用名词
开发语言·前端·javascript
晴天1621 分钟前
前端打包工具全景解析
前端
晴天1622 分钟前
Vite vs Webpack 全方位对比
前端·webpack·node.js
体毛旺盛的猿25 分钟前
HarmonyOS开发面试题
前端·华为·harmonyos
anOnion39 分钟前
构建无障碍组件之Landmarks Pattern
前端·html·交互设计
牧瀬クリスだ40 分钟前
前端三件套基础之JS!!!!
前端·javascript
风骏时光牛马43 分钟前
提示词工程:大模型交互的核心塑造技术
前端
单线程_011 小时前
从案例分析 Vue3 Tokenizer+Parser 源码四
前端·javascript·vue.js