浅谈HTTP协议
HTTP协议
介绍
协议是指计算机通讯网络中两台计算机之间进行通信所必需的共同遵守的规定和规则。HTTP 协议是网络上使用最广泛的协议,简称超文本传输协议。
四大特性
-
基于TCP/IP之上作用于应用层
-
基于请求响应
-
无状态
但可以通过cookie,session,token 等记录状态
-
无连接
长连接 websockt(HTTP协议的大补丁)
数据格式
请求格式:
请求首行(请求方式,协议版本等)
请求头(一大堆的k:v键值对)
\r\n(绝对不能少的空格)
请求体(真正的数据,只有发post请求的时候才有,如果是get请求就不会有)
响应格式:
响应首行(请求方式,协议版本等)
响应头(一大堆的k:v键值对)
\r\n(绝对不能少的空格)
响应体(真正的数据,只有发post请求的时候才有,如果是get请求就不会有)
响应状态码
就是用特定的数字表示一些意思
(1) 1XX : 提示信息 - 表示请求已被成功接收,继续处理,范围在100-101
(2) 2XX :成功 - 表示请求已被成功接收,理解,接受,范围在200-206
(3) 3XX : 重定向 - 重定向状态码用于告诉浏览器客户端,它们访问的资源已被移动,并告诉客户端新的资源地址位置。这时,浏览器将重新对新资源发起请求,范围在300-305
(4) 4XX : 客户端错误状态码 - 有时客户端发送一些服务器无法请求的东西,比如格式的错误 请求,或者最常见的请求一个不存在的URL。 范围在400-415
(5) 5XX : 服务器端错误 - 有时候客户端发送了一条有效的请求,但web服务器自身出错了,可能是web服务器运行出错了,或者说网站挂掉了,5XX是用来描述服务器内部错误的,范围在500-505
请求方式
最常见的有GET、POST、opions、Put、Head、Delete、Trace、Connect
GET请求:就是朝别人要数据
POST请求:向别人提交数据
补充:URL统一资源定位符