【HTTP学习】

简介: 【HTTP学习】

一、 前后端通信的过程

前后端通信的过程是在“请求—响应”中完成的

  • 前端:浏览器端
  • 客户端:只要能和服务器通信的就叫客户端
  • 后端:服务器端

二、HTTP请求响应的过程

三、HTTP报文

  • 浏览器向服务器发送请求,请求本身就是信息,叫请求报文
  • 服务器向浏览器发送响应时传输的信息,叫响应报文

四、HTTP请求报文的格式

五、HTTP方法的语义

  • Get获取数据(获取资源 文件)
  • POST创建数据(注册)
  • PUT更新数据(修改个人信息,修改密码)
  • DELETE删除数据

六、Get和POST方法的对比

语义

Get获取数据,POST创建数据

发送数据

  • Get通过地址在请求头中携带数据,能携带的数据量和地址的长度有关,一般最多也就几K
  • POST既可以通过地址在请求头中携带数据,也可以在请求体中携带数据,能携带的数据理论上是无限的
  • 携带少量的数据可以使用Get请求,大量的数据可以携带POST请求

缓存

Get可以被缓存,POST不会被缓存

安全性

Get和POST都不安全,发送密码或者其他的敏感信息时不要使用Get,主要是避免他人窥屏或通过历史记录找到你的密码

七、HTTP的状态码

HTTP状态码是什么?

定义服务器对请求处理的结果,是服务器返回的

HTTP常用的状态码语义

2开头的状态码都表示请求被正确处理

200:请求被正确处理

204:请求被受理但无资源返回

206:客户端只请求资源的一部分

3开头的状态码表示需要进一步操作(重定向)

301:永久性重定向

302:临时重定向

303:与302类似,只希望客户端在请求一个URI时,能通过GET方法重定向到另一个URI上

304:发送附带条件的请求时,条件不满足时返回,与重定向无关

307:临时重定向,与302类似,只是强制要求使用POST方法

4开头的状态码一般都是客户端相关问题

400:请求报文语法有误,服务器无法识别

401:请求需要认证

403:请求的对应资源禁止访问

404:服务器找不到对应资源

5字开头的状态码一般是服务器端相关问题

500:服务器内部错误

503:服务器正忙


相关文章
|
25天前
|
JavaScript
Node.js【GET/POST请求、http模块、路由、创建客户端、作为中间层、文件系统模块】(二)-全面详解(学习总结---从入门到深化)
Node.js【GET/POST请求、http模块、路由、创建客户端、作为中间层、文件系统模块】(二)-全面详解(学习总结---从入门到深化)
16 0
|
1月前
|
JavaScript
Node.js【GET/POST请求、http模块、路由、创建客户端、作为中间层、文件系统模块】(二)-全面详解(学习总结---从入门到深化)(上)
Node.js【GET/POST请求、http模块、路由、创建客户端、作为中间层、文件系统模块】(二)-全面详解(学习总结---从入门到深化)
24 0
|
1月前
|
JavaScript
Node.js【GET/POST请求、http模块、路由、创建客户端、作为中间层、文件系统模块】(二)-全面详解(学习总结---从入门到深化)(下)
Node.js【GET/POST请求、http模块、路由、创建客户端、作为中间层、文件系统模块】(二)-全面详解(学习总结---从入门到深化)
22 0
|
1月前
|
缓存 前端开发
HTTP协议学习
HTTP协议学习
10 0
node中的fs模块和http模块的学习
node中的fs模块和http模块的学习
|
2月前
|
缓存 Android开发 数据安全/隐私保护
android开发,使用kotlin学习HTTP访问网络
android开发,使用kotlin学习HTTP访问网络
33 0
|
4月前
Gin 学习之 HTTP 请求方法
Gin 学习之 HTTP 请求方法
38 0
|
4月前
|
JSON Go 开发工具
Go语言学习 - RPC篇:理解标准库HTTP的hander实现逻辑
在Go语言中,常见的RPC包括HTTP/gRPC/Thrift等,但绝大多数的开发场景仍是基于HTTP。本文对RPC的讨论,主要是基于HTTP的场景。
38 0
|
4月前
|
应用服务中间件 网络安全 nginx
Nginx学习研究-Nginx 安装 SSL 配置 HTTPS
Nginx学习研究-Nginx 安装 SSL 配置 HTTPS
197 0
|
6月前
|
JSON 数据格式 Python
【从零学习python 】92.使用Python的requests库发送HTTP请求和处理响应
【从零学习python 】92.使用Python的requests库发送HTTP请求和处理响应
94 1