HTML初学(2)

2017-09-01  本文已影响0人  愿长睡不醒

表单

表单主要用于向服务器提交数据,标签是form,包含两个属性:action、method。

action=url指定一来处理提交表单的格式.它可以是一个URL地址(提交给程式)或一个电子邮件地址。

method=get或post指明提交表单的HTTP方法。(get和post方法的区别在后面会写)

1、文本框

<input type="text" name="" value="">(input是单标签)

2、密码框

<input type="password" name="" value="">

3、单选框

<input type="radio" name="sex" value="male" id="male">

<input type="radio" name="sex" value="male" id="female">

ps:将多个单选框的name值设成一样的就可以在他们中间只选一个(同名相斥)

4、复选框

<input type="checkbox"name="math"value="f">

5、下拉框

<select>

<option>1888</option>

</select>

6、隐藏域

<input type="hidden" name="hid" value="">

可以用来向服务器提交一些不想被其他人看到的数据。

7、文件上传

<input type="file" name="">>

8、提交按钮

<input type="submit" name="su" value="提交按钮">

9、重置按钮

<input type="reset" name="re" value="重置按钮">

10、普通按钮

<button type="submit"></button>

ps:在实际应用中我们并不推荐使用按钮,包括提交按钮和重置按钮,因为他们都有默认样式(很丑)我们往往推荐使用超链接加css制作按钮。

11、文本域

<textarea name="texts" cols="10" rows="10" value="" id=""></textarea>

post方法与get方法

Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。因为对资源的增,删,改,查操作,其实都可以通过GET/POST完成,所以我们只介绍post和get方法。

首先,我们先从表面上来看两者的区别

1、GET请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),以?分割URL和传输数据,参数之间以&相连,如果数据是英文字母/数字,原样发送,如果是空格,转换为+,如果是中文/其他字符,则直接把字符串用BASE64加密,如:%XX中的XX为该符号以16进制表示的ASCII。

POST把提交的数据则放置在是HTTP包的包体中。简单来说就是get是不加密的而post是加密的。

2、GET产生一个TCP数据包;POST产生两个TCP数据包。

对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);

而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。

当然并不是所有浏览器都会在POST中发送两次包,Firefox就只发送一次。

下图是get方法

下图是post方法

是不是get快。

3、当然他还有很多区别,如:GET请求只能进行url编码,而POST支持多种编码方式。 GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。 GET请求在URL中传送的参数是有长度限制的,而POST没有有。 对参数的数据类型,GET只接受ASCII字符,而POST没有限制等等,不做过多解释了。

然后我们在从原理上看

根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的。即GET 请求一般不应产生副作用,不会修改,增加数据,不会影响资源的状态。

但根据HTTP规范,POST用于更新资源信息,可能修改变服务器上的资源的请求。

上一篇 下一篇

猜你喜欢

热点阅读