本文共 2295 字,大约阅读时间需要 7 分钟。
http协议: 对浏览器客户端 和 服务器端 之间数据传输的格式规范
http1.0:当前浏览器客户端与服务器端建立连接之后, 只能发送一次请求,一次请求之后连接关闭。http1.1:当前浏览器客户端与服务器端建立连接之后, 可以在一次连接中发送多次请求。(基本都使用1.1)
常见的请求方式: GET 、 POST、 HEAD、 TRACE、 PUT、 CONNECT 、DELETE
常用的请求方式: GET 和 POST
表单提交:
请求(浏览器-》服务器)GET /day09/hello HTTP/1.1Host: localhost:8080User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Accept-Language: zh-cn,en-us;q=0.8,zh;q=0.5,en;q=0.3Accept-Encoding: gzip, deflateConnection: keep-alive
响应(服务器-》浏览器)HTTP/1.1 200 OKServer: Apache-Coyote/1.1Content-Length: 24Date: Fri, 30 Jan 2015 01:54:57 GMTthis is hello servlet!!!
三部分组成:请求行,请求头,实体内容
GET /day09/hello HTTP/1.1 -请求行Host: localhost:8080 --请求头(多个key-value对象)User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Accept-Language: zh-cn,en-us;q=0.8,zh;q=0.5,en;q=0.3Accept-Encoding: gzip, deflateConnection: keep-alive --一个空行name=eric&password=123456 --(可选)实体内容
GET /day09/hello HTTP/1.1 --》 请求方式:URI地址:HHTP协议
Accept: text/html,image/* -- 浏览器接受的数据类型Accept-Charset: ISO-8859-1 -- 浏览器接受的编码格式Accept-Encoding: gzip,compress --浏览器接受的数据压缩格式Accept-Language: en-us,zh- --浏览器接受的语言Host: www.it315.org:80 --(必须的)当前请求访问的目标地址(主机:端口)If-Modified-Since: Tue, 11 Jul 2000 18:23:51 GMT --浏览器最后的缓存时间Referer: http://www.it315.org/index.jsp -- 当前请求来自于哪里User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0) --浏览器类型Cookie:name=eric -- 浏览器保存的cookie信息Connection: close/Keep-Alive -- 浏览器跟服务器连接状态。close: 连接关闭 keep-alive:保存连接。Date: Tue, 11 Jul 2000 18:23:51 GMT -- 请求发出的时间
只有POST提交的参数会放到实体内容中
后台接受前台HTTP请求封装成对象。
那如何提取其中的信息呢?
HttpServletRequest对象作用是用于获取请求数据。
核心的API: 请求行: request.getMethod(); 请求方式 request.getRequetURI() / request.getRequetURL() 请求资源 request.getProtocol() 请求http协议版本 请求头: request.getHeader("名称") 根据请求头获取请求值 request.getHeaderNames() 获取所有的请求头名称 实体内容: request.getInputStream() 获取实体内容数据
转载地址:http://jigia.baihongyu.com/