【网络】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
没有要求,如果Method
是POST
数据就要放在BODY
中。也没有要求,如果Method
是GET
,数据(参数)就一定要放在URL
中而不能放在BODY
中。