HTTP 基础知识盘点

HTTP基本概念

HTTP是什么?

HTTP是超文本传输协议,既Hyper Text Transfer Protocol。

超文本的概念:超文本是超级文本的缩写,指文字、图片、视频等"文本"的混合物,当然还有可以跳转的超链接。

给出一个更准确的答案就是:
HTTP 是一个在计算机世界里专门在「两点」之间「传输」文字、图片、音频、视频等「超文本」数据的「约定和规范」。

报文格式

请求报文:

在这里插入图片描述

(PS: sp:空格 cr:回车 lf:换行)

请求行:

方法字段:

GET:GET请求会向数据库发索取数据的请求,从而来获取信息,该请求就像数据库的select操作一样,只是用来查询一下数据,不会修改、增加数据,不会影响资源的内容,即该请求不会产生副作用。无论进行多少次操作,结果都是一样的。
PUT:与GET不同的是,PUT请求是向服务器端发送数据的,从而改变信息,该请求就像数据库的update操作一样,用来修改数据的内容,但是不会增加数据的种类等,也就是说无论进行多少次PUT操作,其结果并没有不同。
POST:POST请求同PUT请求类似,都是向服务器端发送数据的,但是该请求会改变数据的种类等资源,就像数据库的insert操作一样,会创建新的内容。几乎目前所有的提交操作都是用POST请求的。
DELETE:是用来删除某一个资源的,该请求就像数据库的delete操作。

综上所述:
1、GET 查
2、PUT 改
3、POST 增
4、DELETE 删

关于PUT和POST的区别可以参考:https://blog.csdn.net/dream_follower/article/details/90048425

HEAD:本质和get一样,但是响应中没有呈现数据,而是http的头信息。

URL字段:它定义了相关网页的地址和名称。

版本字段:给出使用的协议的版本号。

首部行:

在这里插入图片描述

响应报文:

在这里插入图片描述

状态行:

状态码:标识了客户端HTTP请求的状态。

状态码的类别:

类别原因
1XXInformational(信息性状态码)服务器收到请求,需要请求者继续执行操作
2XXSuccess(成功状态码) 请求正常处理完毕
3XXRedirection(重定向状态码)需要进一步的操作以完成请求
4XXClient Error(客户端错误状态码) 服务器无法处理请求
5XXServer Error(服务器错误状态码) 服务器处理请求出错

常见状态码:

200OK,表示从客户端发来的请求在服务器端被正确处理
400bad request,请求报文存在语法错误
403forbidden,表示对请求资源的访问被服务器拒绝,可在实体主体部分返回原因描述
404not found,表示在服务器上没有找到请求的资源
500Internal Server Error:表示服务器发生不可预期的错误,导致无法完成客户端的请求
503Service Unavailable:表示服务器当前不能够处理客户端的请求,在一段时间之后,服务器可能会恢复正常
首部行:

在这里插入图片描述

Get和Post

GET 方法的含义是请求从服务器获取资源,而POST方法是相反的,他是向URL指定的资源提交数据,数据放在body里。
GET方法是安全且幂等的,而POST方法是不安全且不幂等的。

安全和幂等的概念:

在HTTP里,安全指请求方法不会破坏服务器上的资源。
幂等是指多次执行相同的操作,结果是相同的。

因为GET是只读操作,所以无论操作多少次,服务器上的资源都是安全的,且每次的结果都是相同,所以GET方法安全且幂等。
而POST是提交数据,会修改服务器上的资源,所以是不安全且不幂等的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值