HTTP传输协议介绍(二)
一、HTTP请求消息request
Request请求协议,是从客户端向服务器发出请求,包括用户提交的信息以及客户端的一些信息。客户端可通过HTML表单或在网页地址后面提供参数的方法提交数据,然后服务器通过request对象的相关方法来获取这些数据。request的各种方法主要用来处理客户端浏览器提交的请求中的各项参数和选项。
Request常用方法介绍:
A. 获取请求消息:
Request.getRequestURL():浏览器发出请求时的完整URL,协议,主机名,端口。
Request.getRequestURI():浏览器发出请求资源名,去掉协议和主机名
Request.getQuerySting():请求行中的参数部分,只能显示get方式发出的参数,post方式看不到。
Request.getRemoteAddr():浏览器器所处于的客户机的ip地址
Request.getRemoteHost():浏览器所处于的客户机的主机名。
Request.getRemotePort():浏览器所处于的客户机使用的网络端口。
Request.getLocalAddr():服务器的ip地址。
Request.getLocalName():服务器的主机名。
Request.getMethod():得到客户机请求方式一般是get或者post。
B. 获取参数
Request.getParameter():用于获取单值参数
Request.getParameterValues():用于获取具有多值的参数。
Request.getParameterMap():用于遍历所有的参数,返回Map类型。
C. 获取头部消息
Request.getHeader():获取浏览器传递过来的头信息。
Request.getHeaderNames():获取浏览器所有的头信息名称,根据头信息名称就能遍历出所有的头信息。
二、Response响应协议
Response代表响应,用于动态响应客户端请示,控制发送给用户的信息,并将动态生成响应。Response对象只提供了一个数据集合cookie,它用于在客户端写入cookie值。若指定的cookie不存在,则创建它。若存在,则将自动进行更新。结果返回给客户端浏览器。可通过该对象分别设置HTTP响应:响应行,响应头,响应体。
转发和重定向的区别:
A. 转发是服务器内部,路径,可以省略项目名;重定向既可以是服务器内部,也可以是服务器外部。
B. 转发的地址栏和窗体内容不一致;重定向的地址栏和窗体是一致的。
C. 转发的客户端请求次数是一次,和一次响应;重定向是多次客户端请求和响应。
Response常用方法介绍:
1、setContentType() 告知浏览器数据类型
2、setCharacterEncoding()设置Response的编码方式
3、setHeader()设置消息头
4、setStatus()设置状态码
5、addCookie()添加Cookie
6、sendRedirect()重定向
7、getOutputstream()获取通向浏览器的字节流
8、getWriter()获取通向浏览器的字符流。
三、HTTP状态码
当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(server header)用以响应浏览器的请求,状态码表示网页服务器超文本传输协议响应状态。
HTTP常见状态码:
1、消息类:
2、成功类:
3、重定向:
4、请求错误:
5、服务器错误:
上一篇:HTTP传输协议介绍(三)
下一篇:HTTP传输协议介绍(一)