zoukankan      html  css  js  c++  java
  • 《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

  • 相关阅读:
    Codeforces 937D
    Codeforces 458C
    Codeforces 934D
    Codeforces 934C
    Codeforces 36B
    Codeforces 374C
    Codeforces 374D
    编译优化
    Codeforces E
    Codeforces 920G
  • 原文地址:https://www.cnblogs.com/25-lH/p/9152024.html
Copyright © 2011-2022 走看看