HTTP协议

发布时间:2023年12月22日

HTTP协议要求:浏览器在向服务器发送请求数据时,或是服务器在向浏览器发送响应数据时,都必须按照固定的格式进行数据传输。

HTTP的特点:

  • 基于TCP协议:面向连接,安全;TCP 是一种面向连接的(建立连接之前是需要三次握手)、可靠的、基于字节流的传输层通信协议,在数据传输方面更加安全
  • 基于请求-响应模型:一次请求对应一次响应(先请求后响应);请求和响应是一一对应的
  • HTTP协议是无状态协议:对于数据没有记忆能力。每次请求-响应都是独立的;

无状态指的是客户端发送HTTP请求给服务端之后,服务端根据请求响应数据,响应完后,不会记录任何信息。

缺点:多次请求间不能共享数据

优点:速度快

请求之间无法共享数据会引发的问题:

如:京东购物,加入购物车和去购物车结算是两次请求

HTTP的无状态特性,加入购物车请求响应结束后,并未记录加入购物车是何商品

HTTP-请求协议

浏览器和服务器是按照HTTP协议进行数据通信的。

HTTP协议又分为:请求协议和响应协议

  • 请求协议:浏览器将数据以请求格式发送到服务器

    • 包括:请求行请求头请求体

  • 响应协议:服务器将数据以响应格式返回给浏览器

    • 包括:响应行响应头响应体

常用的GET和POST

GET:获取资源,向特定的资源发出请求

POST:传输实体主体,向指定资源提交数据进行处理请求,数据被包含在请求体里。

GET请求和POST请求的区别:

区别方式GET请求POST请求
请求参数请求参数在请求行中。 例:/brand/findAll?name=OPPO&status=1请求参数在请求体中
请求参数长度请求参数长度有限制(浏览器不同限制也不同)请求参数长度没有限制
安全性安全性低。原因:请求参数暴露在浏览器地址栏中。安全性相对高

HTTP-响应协议

与请求一样,响应的数据也分为3部分:响应行、响应头、响应体

响应状态码

状态码分类说明
1xx响应中 --- 临时状态码。表示请求已经接受,告诉客户端应该继续请求或者如果已经完成则忽略
2xx成功 --- 表示请求已经被成功接收,处理已完成
3xx重定向 --- 重定向到其它地方,让客户端再发起一个请求以完成整个处理
4xx客户端错误 --- 处理发生错误,责任在客户端,如:客户端的请求一个不存在的资源,客户端未被授权,禁止访问等
5xx服务器端错误 --- 处理发生错误,责任在服务端,如:服务端抛出异常,路由出错,HTTP版本不支持等

关于响应状态码,我们先主要认识三个状态码,其余的等后期用到了再去掌握:

  • 200 ok 客户端请求成功

  • 404 Not Found 请求资源不存在

  • 500 Internal Server Error 服务端发生不可预期的错误

文章来源:https://blog.csdn.net/weixin_48592695/article/details/135155555
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。