Http请求处理编程
2021-07-05 06:06
                         标签:包含   ram   term   data   传递   输入   server   multipart   post    软件152 罗杰 1. Http请求数据的组成: Http请求处理编程 标签:包含   ram   term   data   传递   输入   server   multipart   post    原文地址:http://www.cnblogs.com/R0GER/p/7107124.html
a) 请求头
   i. 客户端信息(浏览器信息,位置信息,cookie数据等)
   ii. 请求数据体信息(一下仅为主要的信息)
       User-Agent:客户端的类型
       Accept:浏览器可接受的MIME类型
       Accept-Charset:浏览器支持的字符编码
       Accept-Encoding:浏览器知道如何解码的数据编码类型
       Accept-Language:浏览器指定的语言 Connection:是否使用持续连接
       Content-Length:使用post方法提交是,传递数据的字节数 
       Cookie:保存的cookie对象
       Host:主机和端口
b) 请求体:包含提交到服务器的数据,只有post方法才有请求体,get请求的请求体包含在url中作为请求头的请求体
2.  Http请求数据的类型:文本和二进制
   注:当请求体数据是二进制的时候需引入解析二进制数据的第三方框架,例如:apache的Common fileupload,cos框架,JspSmartUpload 同时客户端必须以post方式进行提交而且表单中要加入属性:enctype=”multipart/form-data”
3.  Http请求对象,实现HttpServletRequest接口(javax.servlet.http.HttpServletRequest)
a)声明周期:每次Http请求时创建,当向应结束时销毁
b)请求对象的方法:
      i. 取得请求头的方法:
         getHeader():取得指定的请求头字符串类型的内容返回字符串类型
         getIntHeader():取得整数类型的指定内容返回整数类型
         getDataHeader():取得如期类型的指定请求头中得内容返回日期类型
         getHeaderNames();取得所有请求头的列表,返回枚举类型
      ii.取得请求体中包含的提交参数数据:
         getParameter():取得指定名称的参数数据
         getParameterValues():取得指定参数名称的数据数组
         getParameterNames():取得所有请求参数的名称
         getParameterMap():取得所有请求的参数名和值
         getInputStream():取得客户端提交的输入流。
      iii.取得其他客户端信息:
         getRemoteHost():取得请求客户的主机名
         getRemoteAddr():取得请求客户的IP地址
         getRemotePort():取得请求客户的端口号
         getProtocol():取得请求协议
         getContentType():取得请求体内容的类型
         getContentLength():取得当请求提为二进制流时请求体的长度,多用于文件上传
      iii. 取得服务器端信息:
         getServerName():取得服务器的HOST,一般为IP
         getServerPort():取得服务器接收端口
      iv. 取得cookie
         getCookies():取得cookie数组
      v.获取请求地址信息:
         getRequestURL():取得URL;
         getRequestURI():取得URI;
       注:url与uri的区别:url指次文件在全球互联网的地址
                           uri指文件在站点下的地址
上一篇:JS正则表达式