了解HTTP 以及常见状态码

1.HTTP(超文本传输协议)

HTTP请求流程图
在这里插入图片描述

2.HTTP 特征

✔ 无状态:协议对客户端没有状态存储,对事物处理没有“记忆”能力,比如访问一个网站需要反复进行登录操作
✔ 无连接:HTTP/1.1之前,由于无状态特点,每次请求需要通过TCP三次握手四次挥手,和服务器重新建立连接。比如某个客户机在短时间多次请求同一个资源,服务器并不能区别是否已经响应过用户的请求,所以每次需要重新响应请求,需要耗费不必要的时间和流量
✔ 基于请求和响应:基本的特性,由客户端发起请求,服务端响应
✔ 简单快速、灵活
✔ 通信使用明文、请求和响应不会对通信方进行确认、无法保护数据的完整性

HTTP属于TCP/IP模型中的应用层协议

三次握手:
在这里插入图片描述

四次挥手:
在这里插入图片描述

问:为什么需要三次握手?
• 为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误
• 三次是最少的安全次数,两次不安全,四次浪费资源

问:为什么需要四次挥手?
因为tcp协议是面向连接的安全可靠的传输层协议,同时也是全双工通信,不能单方面完全断开连接,需要双方进行确认无误后,可以断开

3.HTTP 状态码分类

1** 信息,服务器收到请求,需要请求者继续执行操作
2** 成功,操作被成功接收并处理
3** 重定向,需要进一步的操作以完成请求
4** 0客户端错误,请求包含语法错误或无法完成请求
5** 服务器错误,服务器在处理请求的过程中发生了错误

4开头的状态码:

400 Bad Request
客户端请求的语法错误,服务器无法理解
401 Unauthorized
请求要求用户的身份认证
402 Payment Required
保留,将来使用
403 Forbidden
服务器理解请求客户端的请求,但是拒绝执行此请求
404 Not Found
服务器无法根据客户端的请求找到资源(网页) 。通过此代码,网站设计人员可设置’您所请求的资源无法找到"的个性页面
405 Method Not Alowed
客户端请求中的方法被禁止
406 Not Acceptable
服务器无法根据客户端请求的内容特性完成请求
407 Proxy Authentication Required
请求要求代理的身份认证,与401类似, 但请求者应当使用代理进行授权
408 Request Time-out
服务器等待客户端发送的请求时间过长,超时
409 Conflict
服务器完成客户端的PUT请求是可能返回此代码,服务器处理请求时发生了冲突
410 Gone
客户端请求的资源已经不存在。410不同于404, 如果资源以前有现在被永久删除了可使用410代码,网站设计人员可通过301代码指定资源的新位置
411 Length Required
服务器无法处理客户端发送的不带Content-Length的请求信息
412 Precondition Failed
客户端请求信息的先决条件错误
413 Request Entity Too Large
由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务Large器暂时无法处理,则会包含-个Retry-After的响应信息
414 Request-URI Too Large
请求的URI过长(URI通常为网址),服务 器无法处理
415 Unsupported Media Type
服务器无法处理请求附带的媒体格式
416 Requested range not satisfiable
客户端请求的范围无效
417 Expectation Failed
服务器无法满足Expect的请求头信息

5开头的状态码:

500 Internal Server Error
服务器内部错误 ,无法完成请求
501 Not Implemented
服务器不支持请求的功能,无法完成请求
502 Bad Gateway
充当网关或代理的服务器,从远端服务器接收到了一个无效的请求
503 Service Unavailable
由于超载或系统维护,服务器暂时的无法处理客户端的请求。延时的长度可包含在服务器的Retry-After头信息中
504 Gateway Time-out
充当网关或代理的服务器,未及时从远端服务器获取请求
505 HTTP Version not supported
服务器不支持请求的HTTP协议的版本,无法完成处理

常用的状态码:

200 OK
请求成功(其后是对GET和POST请求的应答文档)
301 Moved Permanently
请求的永久页面跳转
403 Forbidden
禁止访问该页面
404 Not Found
服务器无法找到被请求的页面
500 Internal Server Error
内部服务器错误
502 Bad Gateway
无效网关
503 Service Unavailable
当前服务不可用
504 Gateway Timeout
网关请求超时

4.HTTP方法

• HTTP协议有多种获得Web资源的方法
• 常用的方法: GET和POST

GET
请求获取Request-URI所标识的资源
PUT
请求服务器存储一个资源,并用Request-URI作为其标识
DELETE
请求服务器删除Request-URI所标识的资源
POST
在Request-URI所标识的资源后附加新的数据
HEAD
请求获取由Request-URI所标识的资源的响应消息报头

GET方法
从指定的服务器上获得数据

• GET请求能被缓存
• GET请求会保存在浏览器的浏览纪录里
• GET请求有长度的限制
• 主要用于获取数据
• 查询的字符串会显示在URL中,不安全

POST方法
提交数据给指定服务器处理

• POST请求不能被缓存
• POST请求不会保存在浏览器的浏览纪录里
• POST请求没有长度限制
• 查询的字符串不会显示在URL中,比较安全

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

W.scaler

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值