> 文档中心 > 【网络】HTTP

【网络】HTTP

如果觉得对你有帮助,能否点个赞或关个注,以示鼓励笔者呢?!博客目录 | 先点这里


文章目录

  • 1.简介
  • 2.报文格式
  • 3.HTTP请求的完整过程
    • 3.1后端
    • 3.2前端
  • 4.Get请求与Post请求
  • 5.常见状态码
  • 6.开发需注意

1.简介

在这里插入图片描述
在这里插入图片描述

HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,一种无状态的,以请求/应答方式运行的协议,它使用可扩展的语义和自描述消息格式,与基于网络的超文本信息系统灵活的互动。

2.报文格式

HTTP协议的请求报文响应报文的结构基本相同,由三大部分组成:
起始行(start line):描述请求或响应的基本信息
头部字段集合(header) :使用key-value形式更详细地说明报文
消息正文(entity) :实际传输的数据,它不一定是纯文本, 可以是图片、视频等二进制数据
在这里插入图片描述

请添加图片描述
请添加图片描述
在这里插入图片描述

3.HTTP请求的完整过程

3.1后端

在这里插入图片描述

3.2前端

1.DOM构造:浏览器将收到的html代码解析为一颗DOM树
在这里插入图片描述
2.布局:浏览器层次遍历DOM树,顺序压入文档流开始布局
在这里插入图片描述

3.绘制页面: 布局完成后,浏览器只是计算出了每一个节点应该摆放的位置,最后一步就是将整个页面绘制出来。

4.Get请求与Post请求

以下回答为Google搜索的头版头条,只能面对应试题说。本质上说他们只有一点根本区别,简单点儿说,一个用于获取数据,一个用于修改数据。

1.GET使用URL或Cookie传参。而POST将数据放在BODY中。
2.GET的URL会有长度上的限制,则POST的数据则可以非常大。
3.POST比GET安全,因为数据在地址栏上不可见。
4.Get执行效率却比Post方法好。Get是Form提交的默认方法。

关于这方面的问题,详情请见:GET和POST有什么区别?及为什么网上的多数答案都是错的。

5.常见状态码

100~199 ——信息性状态码

200~299——成功状态码

300~399——重定向状态码

400~499——客户端错误状态码

500~599——服务器错误状态码

6.开发需注意

@RequestBody主要用来接收前端传递给后端的JSON字符串中的数据的(请求体中的数据的);GET方式无请求体,所以使用@RequestBody接收数据时,前端不能使用GET方式提交数据,而是用POST方式进行提交。
当然 HTTP没有要求,如果MethodPOST数据就要放在BODY中。也没有要求,如果MethodGET,数据(参数)就一定要放在URL中而不能放在BODY中。