• Javaweb中的servlet中的消息体是什么?


    2023年10月9日,周一晚上


    目录

    什么是消息体

    什么是HTTP响应

    HTTP响应由谁产生,发给谁

    响应头具体有什么内容

    Content-Type的值怎么写

    HTTP响应例子


    什么是消息体

    消息体(message body)指HTTP响应中的实体主体内容。

    什么是HTTP响应

    在HTTP响应中,主要包含:

    • 状态行:如HTTP/1.1 200 OK
    • 响应头:如Content-Type、Content-Length等
    • 消息体:实际响应给客户端的内容

    其中:

    • 状态行和响应头属于响应元数据
    • 消息体才是真正要发送给客户端的实体内容

    HTTP响应由谁产生,发给谁

    HTTP响应由服务器产生,发送给客户端

    具体来说:

    • 产生HTTP响应的一方是服务器。当客户端向服务器发送HTTP请求时,服务器根据请求内容生成对应的HTTP响应。
    • 服务器主要负责生成响应的各个部分,包括状态行、响应头和消息体内容。
    • 产生响应后,服务器将完整的HTTP响应发送给原来发出请求的客户端。
    • 客户端可以是浏览器、移动App或者其他程序,它发出HTTP请求后,会等待并接收服务器返回的HTTP响应。
    • 浏览器或App收到响应后,会按照响应内容进行相应处理和展示。例如响应是一个网页,浏览器就会呈现该网页。

    所以简单总结:

    • 产生HTTP响应的是服务器
    • 服务器根据请求生成响应各部分内容
    • 服务器将完整响应发送给原来发出请求的客户端
    • 客户端接收响应后根据内容进行后续处理

    HTTP响应由服务器端产生,主要目的是响应客户端的请求,将结果返回给发出请求的客户端。这是HTTP工作模式的基本流程。

    响应头具体有什么内容

    主要的HTTP响应头包括:

    • Status-Line - 状态行,包含HTTP版本、状态码和状态描述,如HTTP/1.1 200 OK
    • Content-Type - 内容类型,如text/html、application/json、text/html;charset=utf-8等
    • Content-Length - 内容长度
    • Content-Encoding - 内容编码,如gzip
    • Content-Language - 内容语言
    • Cache-Control - 缓存控制相关指令
    • Expires - 响应过期时间
    • Last-Modified - 资源最后修改时间
    • ETag - 实体标签,用于验证缓存是否过期
    • Location - 重定向地址位置
    • Set-Cookie - 设置Cookie
    • Vary - 多种因素导致的内容不一致
    • Connection - 连接控制相关,如close
    • Date - 响应日期
    • Server - Web服务器类型
    • Allow - 允许的HTTP方法
    • Content-Disposition - 内容打开方式
    • 其他自定义头部

    响应头提供了大量元数据,如内容类型、长度、语言、缓存策略等,对客户端处理响应很重要。它与状态行和消息体一起构成完整的HTTP响应。

    Content-Type的值怎么写

    Content-Type响应头字段的值格式通常为:

    类型/子类型;参数

    其中:

    • 类型和子类型使用斜杠分割,用于标识MIME类型。如text/html。
    • 参数使用分号和等号表示,可以有多个参数,用逗号分隔。

    一些常见的Content-Type值写法包括:

    text/html        表示HTML文档。

    text/plain        表示纯文本。

    application/json        表示JSON格式数据。

    image/png        表示PNG图片。

    application/octet-stream        通用二进制格式。

    text/html;charset=utf-8        表示UTF-8编码的HTML文档。

    application/xml;charset=utf-8        表示UTF-8编码的XML文档。

    multipart/form-data; boundary=----WebKitFormBoundaryrb06p5EzZxbmFZic        表示表单数据的MIME类型。

    所以一般形式为类型/子类型,可以带上相关参数。正确设置Content-Type有助于客户端正确解析响应内容。

    需要注意参数用分号和等号表示,多个参数用逗号分隔

    HTTP响应例子

    请求一个网页:

    状态行:HTTP/1.1 200 OK

    响应头: Content-Type: text/html Content-Length: 100

    消息体: ...

    这里标签之间的HTML代码,就是这个响应的消息体部分。

    所以简单来说,消息体指HTTP响应中传输给客户端的实际内容数据部分,与状态行和响应头形成了完整的HTTP响应结构。

    它是服务器真正返回给客户端浏览器或App的主体数据。

  • 相关阅读:
    无论是异常监控还是业务监控,通通搞定
    【Node.js】fs 文件操作模块
    JSP课设:图书管理系统(附源码+调试)
    Go语言入门心法(三): 接口
    windows查找管理端口常用命令
    Binder进程通信基础使用
    LeetCode_专项突破之SQL入门
    STM32F407ZGT6|定时器中断
    【智能座舱】- 汽车产业的变革,电动化是上半场,而智能化则是下半场
    【SwiftUI模块】0007、SwiftUI新手指引-新手指示-聚光灯介绍说明
  • 原文地址:https://blog.csdn.net/m0_61629312/article/details/133709192