HTTP协议学习
定义
HTTP(hypertext transport protocol),即超文本传输协议。这个协议详细规定了浏览器和万维网服务器之间互相通信的规则。
客户端发送给服务器的称为”请求报文“,服务器发送给客户端的称为”响应报文“。
请求的协议格式
请求的HTTP协议格式
请求首行;
请求头信息;
空行;
请求体;
get请求和post请求都分别是哪些操作?
GET请求
1)、在浏览器地址栏中输入地址直接按回车
2)、点击超链接 <a>
3)、GET请求表单提交 <form mehtod=”get”>
4)、script src=””,引入外部文件
5)、img src=”路径”,引入图片
6)、引入外部css。。。
POST请求
1)只有表单提交的时候method=post,提交表单就是发post请求 <form method=”POST” />
响应的HTTP协议格式
响应首行
响应头信息
空行
响应体
常见的响应码
响应码对浏览器来说很重要,它告诉浏览器响应的结果;
200:请求成功,浏览器会把响应体内容(通常是html)显示在浏览器中;
404:请求的资源没有找到,说明客户端错误的请求了不存在的资源;
500:请求资源找到了,但服务器内部出现了错误;
302:重定向,当响应码为302时,表示服务器要求浏览器重新再发一个请求,服务器会发送一个响应头Location,它指定了新请求的URL地址;
MIME类型
MIME是HTTP协议中数据类型。
MIME的英文全称是"Multipurpose Internet Mail Extensions" 多功能Internet 邮件扩充服务。MIME类型的格式是“大类型/小类型”,并与某一种文件的扩展名相对应。
常见的MIME类型:
文件 |
MIME类型 |
超文本标记语言文本 |
.html,.html text/html |
普通文本 |
.txt text/plain |
RTF文本 |
.rtf application/rtf |
GIF图形 |
.gif image/gif |
JPEG图形 |
.jpeg,.jpg image/jpeg |
au声音文件 |
.au audio/basic |
MIDI音乐文件 |
mid,.midi audio/midi,audio/x-midi |
RealAudio音乐文件 |
.ra, .ram audio/x-pn-realaudio |
MPEG文件 |
.mpg,.mpeg video/mpeg |
AVI文件 |
.avi video/x-msvideo |
GZIP文件 |
.gz application/x-gzip |
TAR文件 |
.tar application/x-tar |
HttpServletRequest类介绍
Get请求乱码的解决方案-----tomcat8之前的版本存在这个问题
new String(userName.getBybes(ISO-8859-1),"UTF-8");//转码
post乱码的解决。
设置服务器的字符串编码
//设置服务器输出的编码为UTF-8
response.setCharacterEncoding("UTF-8");
设置客户端的字符串显示编码。
//告诉浏览器输出的内容是html,并且以utf-8的编码来查看这个内容。
response.setContentType("text/html;charset=utf-8");
这两行语句要在获取输出流之前执行。才会生效。