http数据格式
http:Hyper Text Transfer Protocol 超文本传输协议
特点:
- 默认端口80
- 一次请求一次响应
- 基于TCP/IP高级协议
- 无状态的:每次请求相互独立
包含:
- 请求行
请求方式 请求路径 http版本
get /…/… HTTP/1.1 - 请求头
请求头名称:请求头值
POST /login.html HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Referer: http://localhost/login.html
Connection: keep-alive
Upgrade-Insecure-Requests: 1 - 请求空行
- 请求体
包含参数。
request请求
- request由服务器创建,用来获取请求数据
- ServletRequest——接口 HttpServletRequest——接口
- request功能:
获取请求行:String getMethod() 获取请求方式;String getContextPath获取虚拟路径;String getServletPath 获取Servlet路径;String getQueryString 获取参数;String getRequestURI 获取统一资源标识符;SringBuffer getRequestURL 获取统一资源定位符;String getProtocol 获取协议版本;String getRemoteAddr 获取客户机IP;
获取请求头:String getHeader(String name) 根据name获取请求值;Enumeration getHeaderNames() 胡哦去所有请求头名称。
获取请求体:BufferedReader getReader() 获取字符流;ServletInputStream getInputStream()获取输入流,可以操作所有数据。
其他方法:String getParameter(String name) 根据参数名获取参数值,get与post方式通用。