日期:2014-05-17  浏览次数:20576 次

处理http请求参数及html表单

<input标记有一个value属性,他的初始值与请求参数的默认值对应。如对于提交按钮

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

以上标记的name属性值为submit,value属性初始值为submit,因此浏览器把他们转变为请求参数“submit=submit”

?

?

客户端向服务端上传文件:

?

只要把特定文件中的数据放到http请求的正文部分,就能发送任意格式的文件

?

上传文件<form>标记的重要属性:

?

method:post 指定为post使得表单数据会放到http请求的正文部分

?

enctype:用于指定表单数据的MIME类型,取值为“multipart/form-data”,表示表单数据为复合类型的数据,包含多个子部分。

?

action属性: 指定请求访问的URI

?

HTTP请求的正文部分为复合类型,包含两个部分,文件部分和提交按钮部分,IE浏览器随机产生一个字符串形式的边界,http请求的正文的各个子部分之间用边界来进行分隔

?

服务器端必须对http请求进行解析,读取其中的边界值,然后根据边界值定位到文件部分,进而定位到文件的正文部分,再把正文的数据保存到本地文件系统中。

?

当上传rar等类型时,服务器端在处理文件部分的正文部分时,会把它按照字节流而不是字符串流写到本地文件中,这样rar文件中的数据可以准确无误的保存到服务器端的文件系统中。