黑马程序员JavaWeb开发教程
文章目录
- 一、概述
- 1、概念
- 2、特点
- 二、请求协议
- 1、HTTP-请求数据格式
- 2、get请求和post请求的区别
- 三、响应协议
- 1、HTTP-相响应格式
- 2、常见响应状态码
- 3、常见的响应头
一、概述
1、概念
- Hyper Text Transfer Protocol ,超文本传输协议,规定了浏览器和服务器之间数据传输的规则(浏览器和服务器之间数据交互的数据格式)
2、特点
- 基于TCP协议:面向连接,安全
- 基于请求-响应模型的:一次请求对应一次响应
- HTTP协议是无状态的协议:对于事务处理没有记忆能力。每次请求-响应都是独立的
- 缺点:多次请求建不能共享数据
- 优点:速度快
二、请求协议
1、HTTP-请求数据格式
- 请求行:请求数据第一行(请求方式、资源路径、协议)
- 请求头:第二行开始,格式 key:value
- Host:请求的主机名
- User-Agent:浏览器版本
- Accept:表示浏览器能接受的资源类型,如
text/*
,image/*
,或者*/*
表示所有 - Accept-Language:表示浏览器偏好的语言,服务器就可以根据次返回不同语言的网页
- Accept-Encoding:表示浏览器可以支持的压缩类型,
- Content-Type:请求主体的数据类型
- Content-Length:请求主体的大小(单位:字节)
- 请求体:POST请求,存放请求参数
2、get请求和post请求的区别
- 请求方式-GET:请求参数在请求中,没有请求体,如:/brand/findAll?name=OPPO&status=1。GET请求大小是有限制的
- 请求方式-POST:请求参数在请求体中,POST请求大小是没有限制的
三、响应协议
1、HTTP-相响应格式
- 响应行:相应数据第一行(协议、状态码、描述)
- 响应头:第二行开始,格式 key:value
- 响应体:最后一部分,存放响应数据
2、常见响应状态码
- 1xx:响应中-临时状态码,表示请求已经接受,告诉客户端应该继续请求或者如果它已经完成则忽略它
- 2xx:成功-表示请求已经被成功接受,处理已经完成
- 200 ok 客户端请求成功,即处理成功,这是我们最想看到的状态码
- 3xx:重定向-重定向到其他地方;让客户端再发起一次请求以完成整个 处理
- 4xx:客户端错误-处理发生错误,责任在客户端。如:请求了不存在的资源,客户端未被授权、禁止访问等
- 404 Not Found 请求资源不存在,一般是URL输入有误,或者网站资源被删除了
- 5xx:服务器错误-处理发生错误,责任在服务端。如:程序抛出异常等
- 500 “Internal Server Error” 服务器发生不可预期的错误,服务器出异常了
- 状态码大全:https://cloud.tencent.com/developer/chapter/13553
3、常见的响应头
- content-Type:表示相应内容的类型
- Content-Length:表示相应内容的长度
- Content-Encoding:表示响应压缩算法
- Cache-Control:指示客户端应如何缓存,例如max-age=300,表示最多缓存300秒
- Set-Cookie:高速浏览器为当前页面所在的域设置Cookie