美文网首页
(2)http基本知识&特性

(2)http基本知识&特性

作者: hedgehog1112 | 来源:发表于2020-12-15 22:58 被阅读0次
    本文只包含一

    二、概要:http优点:简单、灵活和易于扩展、应用广泛和跨平台

                      http缺点:「无状态、明文传输」「不安全」

                      http性能:长连接、管道网络传输、队头阻塞

    一、HTTP 基本概念

    HTTP 是超文本传输协议,HyperText Transfer Protocol。拆成三个部分:超文本、传输、协议

    1. 「协议」

    」:两个以上的参与者,你和房东。如:「三方协议」「租房协议」

    」:参与者行为约定和规范。违约如何处理等。

    2. 「传输」

    包含两项重要的信息:HTTP协议是一个双向协议,两点间传输数据的约定和规范

    请求 - 应答:数据在 A 和 B 间传输,允许中间有中转或接力

    中间人遵从 HTTP 协议,只要不打扰基本数据传输,就可添加任意额外东西

    3. 「超文本」

    HTTP 传输内容,图片、视频、压缩包等,都算做「文本」。「超文本」,能从一个超文本跳转到另外一个超文本。

    如HTML ,本身纯文字,标签定义图片、视频链接,经浏览器解释,呈现有文字、画面网页

    总结:经过三个名词解释「超文本传输协议」「服务器< -- >服务器/本地浏览器」或者其他点两点之间

    2、HTTP 常见的状态码

    https://www.jianshu.com/p/49fe01c6bc43

    3、http 常见字段有哪些?

    1)Host:客户端发请求时,指定服务器域名,可将请求发往「同一台」服务器上的不同网站。Host:www.A.com

    2)Content-Length :本次回应数据长度。如1000

    3)Connection 字段:客户端要求服务器使用 TCP 持久连接,以便其他请求复用

        HTTP/1.1 默认持久连接,为兼容老版本HTTP,要指定 Connection 首部字段值为 Keep-Alive。

       建立可复用的 TCP 连接,直到客户端或服务器主动关闭连接

    4)Content-Type:回应时,告诉客户端,本次数据格式

    5)Content-Type: text/html; charset=utf-8    发送的是网页,编码UTF-8

        Accept: */*    客户端声明自己可以接受任何格式的数据

    6)Content-Encoding 字段:说明数据压缩方法

    7)Content-Encoding: gzip    告知客户端用gzip 方式压缩

        Accept-Encoding: gzip, deflate  说明自己可以接受哪些压缩方法

    三、http特性

    1、HTTP(1.1)优点

    「简单、灵活和易于扩展、应用广泛和跨平台」

    1.简单:报文格式header + body,头部key-value

    2. 灵活和易于扩展:

        各类请求方法、URI/URL、状态码、头字段等每个组成都可自定义和扩充

        HTTP 工作在应用层( OSI 第七层),下层可以随意变化

        HTTPS 在 HTTP 与 TCP 间增加SSL/TLS 安全传输层,HTTP/3把TCPP层换成基于 UDP 的 QUIC

    3. 应用广泛和跨平台

    2、缺点

    协议优缺点一体双刃剑,「无状态、明文传输」「不安全」

    1. 无状态双刃剑

        好处不需额外资源记HTTP 状态,减轻服务器负担,把更多CPU 和内存外提供服务

        坏处,关联性操作时麻烦,如登录->添加购物车->下单->结算->支付,都要知道用户身份,每次都要问一遍身份信息。

        Cookie解决:在请求和响应报文中写入, Cookie 信息来控制客户端状态

    相当于:客户端第一次请求后,服务器会下发一个装有客户信息的「小贴纸」,后续客户端请求服务器的时候,带上「小贴纸」,服务器就能认得了了,

    2. 明文传输双刃剑

    传输过程信息,方便阅读的,F12 控制台或 Wireshark 抓包都可看

    HTTP 所有信息都暴露,容易窃取

    3. 不安全:HTTPS 方式解决,引入 SSL/TLS 层

    3、HTTP/1.1 性能

    基于 TCP/IP,用「请求 - 应答」通信模式    

    1. 长连接

    任意一端没明确提出断开连接,保持连接状态

    HTTP/1.1 提出长连接,减少重复建立和断开所造成额外开销,减轻服务器负载

    早期HTTP/1.0 性能问题,发起请求,要新建一次 TCP 连接(三次握手),串行请求做无畏TCP 连接建立和断开,增加通信开销

    2. 管道网络传输

    同一TCP 连接里,客户端可发起多个请求,不必发出回来,就继续发,减少响应时间

    3. 队头阻塞

    「请求 - 应答」模式加剧HTTP 性能问题。

    顺序发送阻塞时,后面排队也阻塞。HTTP/1.1 性能一般般,后续HTTP/2 和 HTTP/3 就是优化 HTTP 性能

    https://mp.weixin.qq.com/s/bUy220-ect00N4gnO0697A

    相关文章

      网友评论

          本文标题:(2)http基本知识&特性

          本文链接:https://www.haomeiwen.com/subject/xwfwgktx.html