• 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–参考这篇

  • 相关阅读:
    playwright自动化项目搭建
    编译原理复习——语法分析(自底向上)3
    企业级低代码平台,JeecgBoot-Vue3版 v1.3.0 版本正式发布
    艺术评鉴杂志艺术评鉴杂志社艺术评鉴编辑部2022年第18期目录
    Vue 卸载Better Scroll插件
    C- strtok() & strtok_r()
    C++ 小游戏 视频及资料集(四)
    图库 | 图计算的适用场景有哪些?
    EN 14967:防水沥青防潮层—CE认证
    三、git信息泄露
  • 原文地址:https://blog.csdn.net/ttxiaoxiaobai/article/details/136614842