Unity使用UnityWebRequest和Asp.Net下的WebApi交互详解
目录
一、Http协议简介
1.Http协议:(HyperText Transfer Protocol,超文本传输协议)是一种网络传输协议,所有的WWW文件都必须遵守这个标准。Http是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等等)的。
2.Http协议的特点:
1)请求--响应模式,一次请求--响应结束,即断开连接。
2)http是基于TCP/IP在应用层上的协议,数据传输是可靠的。
3)只要客户端和服务器知道如何处理数据内容,任何类型的数据都可以通过HTTP发送、接收。但必须指定合适的MIME-type(资源的媒体类型),HTTP是媒体独立的。
3.URL:统一资源定位符,指资源在网络上的位置地址。
语法格式: protocol :// hostname[:port] / path / [;parameters][?query]#fragment
解释说明: 协议:// 域名系统(DNS) 主机名或 IP 地址[:端口] / 路径/ [;参数][?查询参数]#信息片段
4.消息结构:
1)客户端请求消息
2)服务端响应消息
5.Http协议常用的几种请求方法(Method):
1)GET: 一般用于查询,Get请求会将参数明文显示在URL后面,为不安全的请求方式。
2)POST:向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST 请求可能会导致新的资源的建立和/或已有资源的修改。
3)PUT:从客户端向服务器传送的数据取代指定的内容。
4)DELETE:请求服务器删除指定的内容。
6.content-Type
1)Content-Type为http请求头和响应头中的信息。表示后面的文档属于什么MIME类型。由于经常要设置Content-Type,因此Request和Response都提供了一个专用的方法setContentType()。
2)常见的content-Type
a)常见的媒体格式类型如下:
- text/html : HTML格式
- text/plain :纯文本格式
- text/xml : XML格式
- image/gif :gif图片格式
- image/jpeg :jpg图片格式
- image/png:png图片格式
b)以application开头的媒体格式类型:
- application/xhtml+xml :XHTML格式
- application/xml: XML数据格式
- application/atom+xml :Atom XML聚合格式
- application/json: JSON数据格式
- application/pdf:pdf格式
- application/msword : Word文档格式
- application/octet-stream : 二进制流数据(如常见的文件下载)
- application/x-www-form-urlencoded : <form encType=””>中默认的encType,form表单数据被编码为key/value格式发送到服务器(表单默认的提交数据的格式)
3)上传文件之时配合表单提交时常见格式:
- multipart/form-data : 需要在表单中进行文件上传时使用
7.常见返回码
- 200 - 请求成功
- 301 - 资源(网页等)被永久转移到其它URL
- 404 - 请求的资源(网页等)不存在
- 500 - 内部服务器错误
二、Unity和Asp.Net WebApi交互
1.需求:客户端使用POST方式提交到服务器
2)Unity代码示例:
2)WebApi代码示例: