一、HTTP协议
超文本传输协议,该协议规定了浏览器与服务端信息传输的数据格式
二、HTTP协议的四大特点
1、基于请求响应
2、基于TCP/IP之上的、作用于应用层的协议
3、无状态 服务端不保存用户的状态 哪怕用户来了一千次,第一千零一次也是当作第一次。
4、无连接 一次请求一次响应,之后再无任何联系
三、基于HTTP的数据请求格式与响应格式
重要说明:在请求头和请求体之间会有一个换行:
,这很重要别忘记了!!!
你携带了请求数据的时候,才会有请求体
1、数据请求格式
(1)请求首行 HTTP协议版本,以及请求格式
(2)请求头 一大堆k,v键值对
(3)请求体 携带一些敏感信息,比如密码、身份证号等
2、数据响应格式
(1)响应首行 HTTP协议版本,状态码
(2)响应头 一大堆k,v键值对
(3)响应体 以html的形式给浏览器返回数据信息
四、状态码
状态码其实就是通过简单的数字组合,来表示复杂的状态或者提示信息
状态码的几种形式:
1XX:服务端已经接收到用户的数据,正在处理中,用户可以接着输入额外的数据
2XX:服务端已经成功响应,状态码200
3XX:重定向 当用户访问一个需要登陆才能够查看的页面时,会自动跳转至登陆页面
4XX:请求错误、请求非法、或请求不够权限,我们见的最多的就是404.
5XX:服务器内部错误,比如服务端出了故障。
五、两种请求方式
1、get方式 朝服务器端要资源,比如输入一个网址。 2、post方式 向服务器端提交资源,比如提交用户名、密码等
ps:
关于为什么使用post请求,而不使用get请求的原因:
get请求携带参数的特点:放在地址之后,用问号隔开的
一是出于安全性的考虑,因为get请求你输入的信息是在地址栏显示的,哪怕是敏感信息。
二是get请求携带的参数是有大小限制的
所以如果客户端给服务端发送消息,最好还是使用post请求