【问题标题】:What's entity used for in HTTP protocol? [duplicate]HTTP 协议中使用的实体是什么? [复制]
【发布时间】:2013-12-18 09:34:21
【问题描述】:

现在我知道what's an http entity。但是实体是做什么用的呢?

我的意思是,当应用程序操作一个 http 请求或响应时,它只需要知道如何解析消息头和消息体。那么实体的作用是什么?它们具有几乎相似的结构。

【问题讨论】:

    标签: http entity


    【解决方案1】:

    我真的不明白你想问什么?

    如果您的意思是我们可以在响应和请求中完全跳过使用 HttpEntity 吗?答案是不! 这是您必须遵循的约定,即互联网的运作方式!

    引用 apache 文档中的实体:

    由于实体可以表示二进制和字符内容,它 支持字符编码(支持后者,即。 字符内容)。

    实体在请求成功时创建,用于 阅读回复。

    要从实体中读取内容,您可以检索输入 通过 HttpEntity.getContent() 方法进行流式传输,该方法返回一个 InputStream,或者你可以提供一个输出流给 HttpEntity.writeTo(OutputStream) 方法,将全部返回一次 内容已写入给定流。

    当作为响应的结果接收到实体时,方法 getContentType() 和 getContentLength() 方法用于读取 公共标头分别是 Content-Type 和 Content-Length(如果它们 可用)。由于 Content-Type 标头可以包含一个字符 文本 mime 类型的编码,如 text/plain 或 text/html, getContentEncoding() 方法用于读取此信息。如果 标头不可用,将返回 -1 的长度,并且 NULL 对于内容类型。如果 Content-Type 标头可用,则 [Header] 对象将被返回。

    为请求创建实体时,此元数据必须是 由实体的创建者提供。

    使用 getHeaders() 读取响应中的其他标头 来自响应对象的方法。

    来源:http://wiki.apache.org/HttpComponents/HttpEntity

    如果我没有正确回答您的问题,我再次感到抱歉,但希望这对您有所帮助。

    【讨论】:

    • 抱歉,问题已更新。
    猜你喜欢
    • 2017-08-15
    • 1970-01-01
    • 2013-02-13
    • 2020-05-17
    • 2016-02-18
    • 1970-01-01
    • 1970-01-01
    • 2012-10-23
    • 1970-01-01
    相关资源
    最近更新 更多