• 《HTTP


    一:引言

      在此之前先看一个小例子:(html 上传文件,服务端为PHP)

    • <?php
          var_dump($_FILES);?>
      <!DOCTYPE html>
      <html>
      <head>
          <meta charset="utf-8" />
          <title>Page Title</title>
      </head>
      <body>
          <form action="" method="POST">
              <input type="file" name="file">
              <input type="submit" value="submit">
          </form>
      </body>
      </html>
      - $_FILES 会获取到值么?

      - 如果不是很清楚或者觉得可以获取到,那么可以接着看看。

    二:什么是 Content-Type?

      - 通俗理解的的话,它就是我们规定发送数据包的一种类型,就像我们寄快递一样。不同的包裹 (Content-Type) 有不同的包装方式。

      - 接收方也会根据这个类型来进行下一步操作

    三:Content-Type 作用?

      - Content-Type用于指定内容类型,一般是指网页中存在的Content-Type,Content-Type属性指定请求和响应的HTTP内容类型。

      - 如果未指定 ContentType,默认为text/html

      - HTTP 中,本身是不存在各种格式的,Content-type 的作用,更是为了标明双方格式交互的数据格式

      - 在nginx中有个配置文件mime.types,主要是标示Content-Type的文件格式。

      - 下面是几个常见的Content-Type:

        - text/html

        - text/plain

        - text/css

        - ext/javascript

        - application/x-www-form-urlencoded

        - multipart/form-data

        - application/json

        - application/xml

        ...

      前面都是html,css,javascript的文件类型,后面四个是POST的发包方式

    四:application/x-www-form-urlencoded

      - 常用的表单发包方式,普通的表单提交,或者js发包,默认都是通过这种方式

      - 这种发包形式的数据,在PHP使用 $_POST 可以直接获取。

    五:multipart/form-data

      - 用在发送文件的POST包

      - 

      - 这里Content-Type告诉我们,发包是以multipart/form-data格式来传输,另外,还有boundary用于分割数据

      - 这也解释了为什么上面小例子中无法获取文件,因为它的 Content-type 是不能获取上传的文件的

    六:application/json

      - 只是为了标明 数据类型为 JSON

      - 获取 json 数据请使用

        - $data = file_get_contents('php://input');

      - 

    七:其余类型

      - 其余类型和 application/json 同理   

      - 获取对应的数据类型,在进行解码 

    八:参考

      - 理解HTTP之Content-Type

  • 相关阅读:
    [转]托管DirectX,从MDX到SlimDX的转换
    [连载]Tutorial series: learning how to write a 3D soft engine from scratch in C#, TypeScript or JavaScript[英]
    关于VS2010 C#使用DirectX的问题[英]
    C#调试含有源代码的动态链接库遇见there is no source code available for the current location提示时的解决方案
    C#常用控件缩写
    朴素贝叶斯
    scikit-learn 入门
    机器学习(6): 层次聚类 hierarchical clustering
    机器学习(5): K-means 算法
    机器学习(4): KNN 算法
  • 原文地址:https://www.cnblogs.com/25-lH/p/9152024.html
Copyright © 2020-2023  润新知