zoukankan      html  css  js  c++  java
  • http抓包—Content-Type讲解

    1、Content-Type的定义

    Content-Type(MediaType),即是Internet Media Type,互联网媒体类型,也叫做MIME类型。在互联网中有成百上千中不同的数据类型,HTTP在传输数据对象时会为他们打上称为MIME的数据格式标签,用于区分数据类型。

    在HTTP协议消息头中,使用Content-Type来表示请求和响应中的媒体类型信息。它用来告诉服务端如何处理请求的数据,以及告诉客户端(一般是浏览器)如何解析响应的数据,比如显示图片,解析并展示html等等。

    http协议是建立在tcp/ip协议之上的应用层协议,主要包括三个部分,状态行,头部信息,消息主体。对应一个http请求就是:请求行,请求头,请求体。协议规定post提交的数据,必须包含在消息主体中entity-body中,但是协议并没有规定数据使用什么编码方式。开发者可以自己决定消息主体的格式。数据发送出去后,需要接收的服务端解析成功,一般服务端会根据content-type字段来获取参数是怎么编码的,然后对应去解码。

     

    2、Content-Type的格式:

    Content-Type:type/subtype ;parameter

    type:主类型,任意的字符串,如text,如果是*号代表所有;
    subtype:子类型,任意的字符串,如html,如果是*号代表所有,用“/”与主类型隔开;
    parameter:可选参数,如charset,boundary等。
    例如:
    Content-Type: text/html;
    Content-Type: application/json;charset:utf-8;

    Content-Type的种类繁多,具体可参考http://tool.oschina.net/commons

    3、下面几种类型是很常用,需要记忆的:

    application/x-www-form-urlencoded

    这种类型用于当HTTP将请求参数用key1=val1&key2=val2的方式组织,key 和 val 都进行了 URL 转码,放到body中(如put方法,多用于表单的提交)。注意如果是中文或者特殊字符,会自动进行URL的转码。

    • 如请求参数:

    •  生成的HTTP请求报文:可以看见中文是乱码的,如果没有指定UTF-8输出,应该会进行转义。

    application/json

    JSON 是一种轻量级的数据格式,以“key-value”对的方式组织的数据。这个使用这个类型,需要参数本身就是json格式的数据,参数会被直接放到请求实体里,不进行任何处理。服务端/客户端会按json格式解析数据(约定好的情况下)

    get请求下会将key-value解析出来,放到URL的参数里面。JSON 格式支持比键值对复杂得多的结构化数据,这一点也很有用。

    • 请求消息

    •  生成的HTTP 请求报文
  • 相关阅读:
    131. Palindrome Partitioning
    130. Surrounded Regions
    129. Sum Root to Leaf Numbers
    128. Longest Consecutive Sequence
    125. Valid Palindrome
    124. Binary Tree Maximum Path Sum
    122. Best Time to Buy and Sell Stock II
    121. Best Time to Buy and Sell Stock
    120. Triangle
    119. Pascal's Triangle II
  • 原文地址:https://www.cnblogs.com/fish-101/p/10842977.html
Copyright © 2011-2022 走看看