http协议 Header 常见属性(一) —— Content-Type、Content-Length

1、Content-Type属性

表明 请求正文或者响应正文包含了什么样的内容,属于一个描述性的属性。比如我们请求/响应正文里放了 网页信息,或者说放了普通文本,那么请求头/响应头里应该这么写:

Content-Type:text/html        //表明正文中的内容是一个网页
Content-Type:text/plain       //表明正文中的内容是普通文本

其他的可以根据下面的对照表来选择Content-Type对应的属性值,扩展名表示你要在请求/响应正文里放置的内容类型。

HTTP content-type 对照表_码农键盘上的梦的博客-CSDN博客_contenttype对照表icon-default.png?t=M666https://blog.csdn.net/qq_44848480/article/details/123688292

2、Content-Length属性

也是一个描述性的属性,表明请求正文 或者 响应正文中的内容所占字节大小。可以用于解包。

Content-Length: 136        //一般请求/响应有正文的时候,才会使用

(1) Content-Length属性的作用

假设浏览器给服务端一次性发送了多条请求,由于服务端是按照字节数读取的。就像下面这样,每次读取1024个字节数。

读取到一个请求以后,我们可能会读取到其他请求的一部分。请求头和请求正文是以空行分割的,我们只要读取到空行,说明我们已经读取完了请求头;现在只要知道请求正文的大小,我们就可以读取剩下的请求正文,而且不会读取到下一个请求的一部分。

(2) 获取请求/响应正文大小的方式

如果是我们自己定义的结构体、对象、字符串,我们可以通过sizeof来获取。

但是如果是某个路径下的文件,我们可以使用stat函数来获取。

stat函数能够获取到某一指定路径下的文件大小。

第一个参数:输入型参数,文件路径。即你要计算大小的文件所在路径

第二个参数:输出型参数,以结构体的形式返回该文件的相关信息,其中包含了文件大小。

返回值:成功返回0,失败返回-1

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值