码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 计算机网络的故事——HTTP报文内的HTTP信息


    HTTP报文内的HTTP信息

    文章目录

    • HTTP报文内的HTTP信息
    • 一、HTTP 报文
    • 二、请求报文及响应报文的结构
    • 三、编码提升传输速率


    一、HTTP 报文

    HTTP报文是由多行(CR+LF作换行符)数据构成的字符串文本,HTTP报文可以分为报文首部和报文主体两部分,两者起初是由(CR+LF)划分的,通常并不一定有报文主体。
    在这里插入图片描述

    二、请求报文及响应报文的结构

    在这里插入图片描述
    报文中的参数解释:
    请求行:包含请求方法、请求URI和HTTP版本。
    状态行:响应状态码、原因短语和HTTP版本
    首部字段一般有四种:通用首部、请求首部、响应首部和实体首部

    三、编码提升传输速率

    类似于发送邮件内增加附件时,为了使邮件变小,会使用ZIP压缩文件之后再进行传输。HTTP协议中存在内容编码也有类似的功能,进行实体内容编码。
    客户端负责解码,常用的内容编码:gzip(GNU zip)、compress(UNIX系统中的标准压缩)
    分割发送的分块传输编码:把实体主体分块的功能称为分块传输编码,分块传输编码分为多个块,每个块都会用十六进制来标记块的大小,最后一个块会用”0(CR+LF)”来标记。
    在这里插入图片描述
    发送多种数据的多部分对象集合:类似于邮件传输的MIME(Multipurpose Internet Mail Extemsions)功能,HTTP也采用了多部分对象集合,发送一个报文时可以含有多个类型实体,通常是图片或者文件上传时使用。
    multipart/form-data用于web表单上传文件时使用
    multipart/byteranges状态码206响应报文包含多个范围内容时使用
    multipart/form-data、multipart/by,在使用字符串来分割实体之前要插入“–”标记进行分割。

    在这里插入图片描述
    获取部分内容的请求范围:可以获取资源的部分内容,适用于断开之后从接受了资源处开始继续请求资源,指定范围请求
    对一份 10 000 字节大小的资源,如果使用范围请求,可以只请求 5001~10 000 字节内的资源。

    内容协商:返回最合适的内容,涉及到浏览器默认语言、字符集、编码等设置,请求服务器会返回最适合的内容
    包含在请求报文中的某些首部字段就是判断的基准,如:Accept、Accept-Charset、Accept-Encode、Accept-Language、Content-Language
    内容协商技术:服务器驱动协商:由服务器进行内容协商
    客户端驱动协商:由客户端进行内容协商的方式。用户从浏览器的可选列表中手动选择。
    透明协商:由服务器和客户端驱动的结合体


  • 相关阅读:
    深度学习应用篇-计算机视觉-图像分类[3]:ResNeXt、Res2Net、Swin Transformer、Vision Transformer等模型结构、实现、模型特点详细介绍
    微信小程序------框架
    【数学】Monocarp and the Set—CF1886D
    抛美债买中债!人民币大涨645点,美联储投降,美元要撑不住了
    docker 部署redis报错内存分配过度
    springboot配置文件
    一个手机ip从这个城市去到另一个城市多久会变
    ubuntu22.04 设置网卡开机自启
    【Qt快速入门(四)】- QLabel文本框的使用
    面试一位喜欢用"精通xx"的嵌入式工程师
  • 原文地址:https://blog.csdn.net/weixin_45841848/article/details/132680277
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号