文档章节

HTML(超文本标记语言)之【表单】

ayesd
 ayesd
发布于 2014/07/15 19:41
字数 1303
阅读 148
收藏 9

        cookie(储存在用户本地终端上的数据),它是HTTP协议中的重要部分之一。通常我们用脚本语言如Javascript或者服务端语言如java等读写cookie。其格式为:key=value,如果是多个键值对,则用分号(;)进行分隔,但是该文件也不能无限制的存储,是有数量和大小限制的!【网上找的资料,未进行验证,仅仅示意有限制,具体的可以参考HTTP协议标准和各浏览器的说明】

一、浏览器允许每个域名所包含的cookie数:

  Microsoft指出InternetExplorer8增加cookie限制为每个域名50个,但IE7似乎也允许每个域名50个cookie。

  Firefox每个域名cookie限制为50个。

  Opera每个域名cookie限制为30个。

  Safari/WebKit貌似没有cookie限制。但是如果cookie很多,则会使header大小超过服务器的处理的限制,会导致错误发生。

  注:“每个域名cookie限制为20个”将不再正确!

二、当很多的cookie被设置,浏览器如何去响应。

  除Safari(可以设置全部cookie,不管数量多少),有两个方法:

  最少最近使用(leastrecentlyused(LRU))的方法:当Cookie已达到限额,自动踢除最老的Cookie,以使给最新的Cookie一些空间。Internet Explorer和Opera使用此方法。

  Firefox很独特:虽然最后的设置的Cookie始终保留,但似乎随机决定哪些cookie被保留。似乎没有任何计划(建议:在Firefox中不要超过Cookie限制)。

三、不同浏览器间cookie总大小也不同:

  Firefox和Safari允许cookie多达4097个字节,包括名(name)、值(value)和等号。

  Opera允许cookie多达4096个字节,包括:名(name)、值(value)和等号。

  Internet Explorer允许cookie多达4095个字节,包括:名(name)、值(value)和等号。

    注:多字节字符计算为两个字节。在所有浏览器中,任何cookie大小超过限制都被忽略,且永远不会被设置。

------摘自 http://www.cnblogs.com/henryhappier/archive/2011/03/03/1969564.html

        通常获取数据是使用表单来进行的,也就是我们通常注册、登录、发表博客、微博等需要填写数据并提交的东西。获取数据的HTML标签其实很有限,只有以下几种:

input[text]、input[password]、input[checkbox]、input[radio]、input[file]、input[hidden]、select、textarea

        没呢?没了!就只有上面这些,其他的标签也可以在form中使用,但是标签中的数据是不会传递到后台中去的(此外,一旦将上述标签设置为disabled="disabled",标签的值也不会传递回去,后台获取的是null)。可想而知,表单可以使用的标签明显不够用,程序设计者就利用这些变换出各式各样的表单,如combox等,实在是佩服!!

        通常有这些标签也还是没法把数据收集起来,因为这些标签还需要放在f<form>标签之中,form标签中经常使用的属性是id、name、action、method、enctype等,其中method和HTTP协议中的请求头的方法匹配,action是用来设置处理表单的动作执行者,enctype 属性规定在发送到服务器之前应该如何对表单数据进行编码。默认地,表单数据会编码为 "application/x-www-form-urlencoded"。就是说,在发送到服务器之前,所有字符都会进行编码(空格转换为 "+" 加号,特殊符号转换为 ASCII HEX 值)。当需要进行文件上传时,必须设置为multipart/form-data。

        放置在form标签之中提交的数据,通常都被格式化为name=value的形式传递给后台进行处理,因此表单的标签是必须有name属性的,而且name属性的值就是传递到后台的name。注:当然,如果使用get的方式,也可以使用js去操作地址栏的数据去获取。

        另外一个经常被单独抽取出来作为一个问题来进行分析和讨论的就是——文件上传。其实纯HTML是提供了此功能,但是无奈用户体验效果太差,因此经常是被替换掉了。关于文件上传后台处理问题涉及以下几个问题:1、扩展名校验和限制;2、大小校验和限制;3、存储路径和方式等。扩展名校验和限制、大小校验和限制可以通过前台js或者后台代码进行判断,通常还应该检测web程序运行容器的限制!对于存储路径和方式的问题,可以使用以下几个方案:1、文件存储到web所在系统的文件系统中;2、存储到数据库中;3、存储在现在流行的hadoop中;4、采用ftp/nfs的方式进行分布式存储。

OK,完毕!


© 著作权归作者所有

ayesd
粉丝 7
博文 19
码字总数 30025
作品 0
深圳
高级程序员
私信 提问
html5知识点:超文本标记语言编程

超文本标记语言,标准通用标记语言下的一个应用。 “超文本”就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。 超文本标记语言的结构包括“头”部分(英语:Head)、和“主体”...

汪秦凯
2017/11/21
0
0
前端开发.Html5.HTML5简单概述

HTML5的简介? 1.HTML5是HTML4.01和XHTML1.0之后的超文本标记语言的最新版本,它由一群自由思想者组成的团队设计出来,并最终实现多媒体支持,交互性,更加智能的表单,以及更好的语义化标记 2.HT...

满满李
2016/06/13
49
0
网站开发流程以及HTML5简介(四)

三, 什么是HTML HTML语言又叫做超文本标记语言,是标准通用标记语言的升级提升版。超文本标记语言包括诸如音频,视频,文本等等数据,让在浏览器呈现出的网页内容更加丰富,形式更加多样。总...

博为峰教研组
2016/11/24
5
0
温故而知新——HTML篇

HTML概念 HTML(Hypertext Markup Language)即超文本标记语言 HTML发展史 1993年(IETE)HTML1.0 1995年(W3C)HTML2.0 1996年(W3C)HTML3.2 1997年(W3C)HTML4.0 1999年(W3C)HTML4.01—...

jia林
2017/11/27
0
0
HTML(超文本标记语言)-----WEB开发基础之二

HTML 是用来描述网页的一种语言。 HTML 指的是超文本标记语言 (Hyper Text Markup Language) HTML 不是一种编程语言,而是一种标记语言 (markup language) 标记语言是一套标记标签 (markup ...

ayesd
2014/07/14
148
0

没有更多内容

加载失败,请刷新页面

加载更多

Mybatis Plus删除

/** @author beth @data 2019-10-17 00:30 */ @RunWith(SpringRunner.class) @SpringBootTest public class DeleteTest { @Autowired private UserInfoMapper userInfoMapper; /** 根据id删除......

一个yuanbeth
今天
4
0
总结

一、设计模式 简单工厂:一个简单而且比较杂的工厂,可以创建任何对象给你 复杂工厂:先创建一种基础类型的工厂接口,然后各自集成实现这个接口,但是每个工厂都是这个基础类的扩展分类,spr...

BobwithB
今天
5
0
java内存模型

前言 Java作为一种面向对象的,跨平台语言,其对象、内存等一直是比较难的知识点。而且很多概念的名称看起来又那么相似,很多人会傻傻分不清楚。比如本文我们要讨论的JVM内存结构、Java内存模...

ls_cherish
今天
4
0
友元函数强制转换

友元函数强制转换 p522

天王盖地虎626
昨天
5
0
js中实现页面跳转(返回前一页、后一页)

本文转载于:专业的前端网站➸js中实现页面跳转(返回前一页、后一页) 一:JS 重载页面,本地刷新,返回上一页 复制代码代码如下: <a href="javascript:history.go(-1)">返回上一页</a> <a h...

前端老手
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部