HTTP 的方法和状态码

方法 表示这次 HTTP 请求,要进行一个什么动作。

这些说明是 HTTP 协议设计者的 "美好期许",程序员真正用的时候,不一定会遵守。GET 方法用的最多,"天下的方法有一石,其中 GET 占了八斗,POST 占了一斗,其他方法共分一斗"。

一、GET 方法

对于 GET 请求来说,通常情况下,是没有 body 的。GET 是否可以有body呢?++理论上++ 来说是可以的,但是非常非常少见。++HTTP协议就是在TCP的基础上,构造出特定格式的字符串,写到TCP socket里。++ (body放的是程序员自定义的数据)GET 是从服务器 "拿一个数据",到底拿哪个数据?有啥要求?上述信息可以通过 url中的路径url中的query string 传输给对方。

二、POST 方法

有两个场景特别容易出现 POST,分别是登录和上传文件

1. 登录 gitee

登录过程:(1) 发起 POST 请求,告知服务器你的用户名密码,服务器验证是否正确 (2) 如果正确就跳转到主页:

POST 请求一般是有正文的,完全也可以没有。

2. 上传头像

其他网站的登录和上传文件,大概率也是 POST (用GET也能实现)注:POST 还有很多其他的场景。

经典面试题:GET 和 POST 的区别

GET 和 POST 其实没有本质区别,能用 GET 的地方,也能换成 POST;能用 POST 的地方,也能换成 GET。但是在使用习惯上,还是有一定区别的。

  1. GET 通常用来表示 "获取数据" 语义,POST 表示 "提交数据" 语义。
  2. GET 通常把给服务器传递的数据放到 query string 中,POST 则通常放到 body 中。

三、状态码

状态码位于响应的首行中,这里体现的是服务器的反馈(成功or失败)

(1) 2xx 视为成功

200 OK 请求成功

(2)4xx 是客户端错误

404 Not Found 访问的资源服务器上不存在。

下面随意写一个URL:

这样的错误属于是客户端造成的,客服端构造了URL,URL包含路径,构造的内容有问题,所以服务器找不到。

403 Forbidden 拒绝访问

访问的页面无权限。例如访问别人的私有仓库:

也属于是用户操作有误,客户端错误。

405 Method Not Allowed

服务器不支持这个方法

(3)5xx 表示服务器错误

500 Internal Server Error

出现这个问题,说明服务器挂了

504 Gateway Timeout

Gateway指的是服务器那边的网关,当服务器非常繁忙的时候,就可能会导致出现超时的情况

(4)3xx 都是重定向

301 永久重定向(浏览器可以做缓存)

302 临时重定向

访问一个url1,自动跳转到url2

相关推荐
2301_800256111 小时前
第九章:空间网络模型(空间网络查询、数据模型、Connected、with Recursive、pgRouting)
网络·数据库·算法·postgresql·oracle
上海云盾-高防顾问8 小时前
中小企业低成本渗透测试实操指南
网络协议·web安全·网络安全
猿小路8 小时前
抓包工具-Wireshark
网络·测试工具·wireshark
Rabbit_QL8 小时前
【网络设置】Docker 自定义网络深度解析:从踩坑到工程实践
网络·docker·容器
浩子智控10 小时前
电子产品三防设计
网络·系统安全
我要升天!10 小时前
Linux中《网络基础》
linux·运维·网络
安科瑞刘鸿鹏1711 小时前
工业自动化系统中抗晃电保护的协同控制研究
运维·网络·嵌入式硬件·物联网
ZStack开发者社区11 小时前
ZStack Cloud 5.5.0正式发布
运维·服务器·网络
2501_9458374311 小时前
云服务器的防护体系构建之道
网络·安全
徐*红11 小时前
物理层-传输介质:双绞线,同轴电缆,光纤,无线传输介质
网络