网站建设出找不到网页,青岛品牌策划公司排名,山东省机关建设网站,主机搭建网站教程http协议
http
● 超文本传输协议 #xff08;HyperText Transfer Protocol#xff09;服务器传输超文本到本地浏览器的传送协议
是互联网上应用最为流行的一种网络协议,用于定义客户端浏览器和服务器之间交换数据的过程。
HTTP是一个基于TCP/IP通信协议来传递数据.
HTT…http协议
http
● 超文本传输协议 HyperText Transfer Protocol服务器传输超文本到本地浏览器的传送协议
是互联网上应用最为流行的一种网络协议,用于定义客户端浏览器和服务器之间交换数据的过程。
HTTP是一个基于TCP/IP通信协议来传递数据.
HTTP是一个属于应用层的协议由于其简捷、快速的方式适用于分布式超媒体信息系统. http请求
从前端向后端发送的请求,都是http请求,
http请求只能发,超文本内容(超链接,提交表单 都是发送http请求)
一次http请求中包含请求行,请求头,请求体三部分
请求行
请求的方式,请求的资源,请求的地址
请求头包含主机地址以及客户端的一些环境信息以键值对的形式传递.
Host: 127.0.0.1:8088 请求的主机地址
Accept: text/html,application/xhtmlxml,application/xml;q0.9,image/webp,image/apng,/;q0.8 浏览器能够处理的内容类型
Accept-Encoding: gzip, deflate, br 浏览器能够处理的压缩编码
Accept-Language: zh-CN,zh;q0.9 浏览器当前设置的语言
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, likeGecko) Chrome/69.0.3497.100 Safari/537.36 使用的浏览器和操作平台信息
Connection: keep-alive 浏览器与服务器之间连接的类型
请求头
包含主机地址以及客户端的一些环境信息,这些信息都是由浏览器自动发送的,以键值对的形式传递
请求体
以表单post方式向后端发送请求数据,在请求体中包含
get请求
get请求主要是从后端获取信息,例如网页上的超链接
向后端传递少量信息,获得大量信息,
请求数据在请求地址中直接拼接(键值键值),所以传输的数据量有限
并且敏感数据不安全
post请求
post请求主要用于向后端发送大量信息,
请求数据在请求体中,可以传输大量数据,不会再地址中显示,所以相对安全
doget与dopost
由于前端请求有get与post,在后端处理上略有不同
所以在父类的service方法中,会根据请求方式的不同,调用doget或者dopost方法分别处理
处理post请求中文乱码 request.setCharacterEncoding(编码格式,一般是utf-8)
Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println(doget);String name req.getParameter(name);String age req.getParameter(age);System.out.println(name);System.out.println(age);System.out.println(req.getMethod());System.out.println(req.getProtocol());System.out.println(req.getServerName());System.out.println(req.getServerPort());System.out.println();System.out.println(req.getRemoteAddr());System.out.println(req.getRemoteUser());System.out.println(req.getRemotePort());//获得请求头数据System.out.println(req.getHeader(User-Agent));}Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {req.setCharacterEncoding(utf-8);String account req.getParameter(account);String password req.getParameter(password);System.out.println(account);System.out.println(password);}其他方法
getMethod()得到客户机请求方式 getScheme()请求协议 getRemoteAddr()返回发出请求的客户机的IP地址 getServerName()服务器名(ip或域名) getServerPort()服务器端口
Get方式与post方式的区别
1,Get方式主要是从服务器获取信息
post主要是想服务器提交信息
2,Get方式在通过URL提交数据数据在URL中可以看到
POST方式数据放置在请求体中提交。
3,GET方式提交的数据大小受限制一般1kb不同浏览器也会有不同
而POST则没有此限制。
http响应
使用getWriter()可以获得一个PrintWriter字符输出流输出数据
通过 resp.setContentType(“text/html;charsetutf-8”);设置输出解码为utf-8
可以同时设定response所使用的字符集编码和浏览器打开所用的字符集编码。