HTTP协议数据封装模型

一、HTTP之Request:

 

格式如下图所示:

 

参数说明:

  1. 请求方法:POST/GET
  2. URL:      以http://inanter.com/login?user=yxb&pwd=1234为例,只写inanter.com后面的字符串(官方叫作虚拟路径),前面的部分作为请求头HOST字段的值,其中HOST字段为请求头当中的必须字段。如果存在端口信息,也写在此字段当中。
  3. 回车符  CR  13
  4. 换行符  LF  10
  5. 当请求方式为POST时,请求头部分还应该包含Content-Length字段值,此处以十进制数表示响应主体的大小(byte[]数组的大小,并非字符串的长度。如果字符串含有中文时,字符串的长度值并不等于byte[]数组的长度)

 

二、HTTP之Response

第一行:   状态行(协议版本号+响应码+响应消息): HTTP/1.1 200 OK

第二~N行:消息头(以下只写必须的字段)+响应正文

 

第一种响应形式:

Content-Type:  text/html;charset=utf-8

Content-Length: size

空行

响应主体二进制流

空行

 

第二种响应形式(分块传输数据):

Content-Type:  text/html;charset=utf-8

Transfer-Encoding:chunked

空行

第1块数据长度(16进制数值表示,同content-length不一样)

块内容二进制流

第2块数据长度

块内容二进制流

 

第n块数据长度(最后一块)

块内容二进制流

0(必须。只有读到此处浏览器才认为数据读完成)

空行

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值