【Javaweb】Servlet五 | HTTP协议【详解】
什么是HTTP协议
什么是协议?
协议是指双方或多方相互约定好,大家都需要遵守的规则,叫协议。
所谓HTTP协议,就是指,客户端和服务器之间通信时,发送的数据,需要遵守的规则,叫做HTTP协议。
HTTP协议中的数据又叫报文。
请求的HTTP协议格式
客户端给服务器发送数据叫请求。
服务端给客户端回传数据叫响应。
请求分为GET请求和POST请求两种
I GET请求
1、请求行
(1)请求的方式 GET
(2)请求的资源路径 [+?+请求参数]
(3)请求的协议的版本号 HTTP/1.1
2、请求头
key:value 组成 不同的键值对表示不同的含义
II POST请求
1、请求行
(1)请求的方式 POST
(2)请求的资源路径 [+?+请求参数]
(3)请求的协议的版本号 HTTP/1.1
2、请求头
key:value 组成 不同的键值对表示不同的含义
空行
3、请求体===>>发送给服务器的数据
Accept:表示客户端可以接收的数据类型
Accept-Language:表示客户端可以接受的语言类型
Referer:表示请求发起时,浏览器地址栏中的地址(从哪儿来)
Content-type:表示发送的数据类型
application/x-www-from-urlenconded
表示提交的数据格式是:name=value&name=value,然后对其进行url编码
url编码是把非英文内容转换为:%xx%xx
multipart/from-data
表示以多段的形式提交数据给服务器(以流的形式提交,用于上传)
Content-Length:表示发送的数据的长度
Cache-Control:表示如何控制缓存 no-cache 不缓存
III 常用的请求头的说明
Accept:表示客户端可以接收的数据类型
Accept-Language:表示客户端可以接收的语言类型
User-Agent:表示客户端的浏览器的信息
Host:表示请求时的服务器ip和端口号
IV 那些是GET请求,那些是POST请求
GET请求
1、form标签 method=get
2、a标签
3、link标签引入css
4、Script标签引入js文件
5、img标签引入图片
6、iframe引入html页面
7、在浏览器地址栏中输入地址后敲回车
POST请求
8、from标签 method=post
响应的HTTP协议格式
1、响应行
(1)响应的协议和版本号
(2)响应状态码
(3)响应状态描述符
2、响应头
(1)ket:value 不同的响应头有不同的含义
空行
3、响应体 --->>>就是回传给客户端的数据
常见的响应码说明
200 表示请求成功
302 表示请求重定向
404 表示请求服务器已经收到了,但是你要的数据不存在(请求地址错误或不存在)
500 表示服务器已经收到请求,但是服务器内部错误(代码错误)
MIME类型说明
MIME是HTTP协议中的数据类型
常见的MIME类型: