Go Web开发三:HTML表单

1.HTML表单

大多数情况下,POST请求是通过HTML表单发送的,通常会是如下:

用浏览器打开为:


屏幕快照 2018-06-26 下午8.30.45.png

form标签的type可以是文本行,文本框,单选按钮,复选框,文件上传等,用户把想要传递给服务器的数据输入到元素里。当按下发送提交按钮,数据就会被发送至服务器。

用户输入的数据会以键值对的形式记录在请求的body中,然后以HTTP POST请求的方式发送给服务器。

2.表单的格式

服务端解析POST请求时,需要知道这些键值对在请求body中是如何格式化的,表单的enctype决定了POST请求在发送键值对时将使用何种格式。

格式如下:

  • 1.application/x-www-form-urlencoded默认格式
    该格式下,浏览器会把HTML表单中的数据编码为一个连续的长查询字符串,不同键值对将使用&符号分割,建和值用=分割。body看上去会是如下:
    first_name=asu&last_name=chang

  • 2.multipart/form-data
    表单中的数据将被转换成一条MIME报文,每个键值对都构成这条报文一部分,并且每个键值对都带有他们各自的内容类型以及内容配置。

如果表单传送的是简单的文本数据,使用RUL编码好。如果是大量数据,编入文件上传,则使用2比较好。

3.GET请求发送表单

实际上,GET请求也是可以发送表单的。所以可以这样写:

GET请求会自动把表单数据包含在URL里面,不通过body传递。

你可能感兴趣的:(Go Web开发三:HTML表单)