文章目录
- HTTP常见状态码
- HTTP请求报文和响应报文的格式
- HTTP响应
- HTTP常用的请求方式
- GET请求和POST请求的区别
————————————————————————————————
HTTP是超文本传输协议(Hypertext Transfer Protocol)
特点:
- 应用层协议
- 运行在TCP上
- 超文本传输协议
HTTP常见状态码
常见状态码:
-
200:服务器已成功处理了请求。通常,这表示服务器提供了请求的网页。
-
301 : (永久移动)请求的网页已永久移动到新位置。服务器返回此响应(对GET或HEAD请求的响应)时,会自动将请求者转到新位置。
-
302:(临时移动)服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。
-
400:客户端请求有语法错误,不能被服务器所理解。
-
403:服务器收到请求,但是拒绝提供服务。
-
404: (未找到)服务器找不到请求的网页。
-
500:(服务器内部错误)服务器遇到错误,无法完成请求。
HTTP请求报文和响应报文的格式
HTTP请求报文由3部分组成
起始行(start line)
:描述请求或响应的基本信息;头部字段(header)
:使用 key-value 形式更详细地说明报文;消息正文(entity)
:实际传输的数据,它不一定是纯文本,可以是图片、视频等二进制数据。
其中起始行和头部字段
并成为 请求头
或者 响应头
,统称为 Header;消息正文
也叫做实体
,称为 body。HTTP 协议规定每次发送的报文必须要有 Header,但是可以没有 body,也就是说头信息是必须的,实体信息可以没有。而且在 header 和 body 之间必须要有一个空行(CRLF)
HTTP响应
HTTP应答与HTTP请求相似,HTTP响应也由 3 个部分构成,分别是:
状态行 ,响应头(Response Header),响应正文 。
在接收和解释请求消息后,服务器会返回一个HTTP响应消息。 状态行由协议版本、数字形式的状态代码、及相应的状态描述,各元素之间以空格分隔。
HTTP常用的请求方式
为了方便记忆,可以将PUT、DELETE、POST、GET理解为客户端对服务端的增删改查。
- PUT:上传文件,向服务器添加数据,可以看作增
- DELETE:删除文件
- POST:传输数据,向服务器提交数据,对服务器数据进行更新。
- GET:获取资源,查询服务器资源
GET请求和POST请求的区别
①:GET请求和POST请求最大的区别主要是GET请求是幂等性的,POST不是。(幂等性简单来说就是对同一URL的多个请求应该返回同样的结果)
②:GET一般都是从服务器获取资源,而POST一般则是改变服务器中的资源。
③:GET请求的数据在URL之后,在请求头中。而POST请求在请求体中。GET请求可被缓存,保留到历史记录中,且请求数据的出现在 URL之中。而POST的参数不会被保存,安全性高。
④:Get的数据长度有限制,而post请求的数据大小无限制