HTTP-02

常用HTTP状态码是怎么分类的

      

常用的HTTP状态码是按照以下几个分类进行的:

  1. 1xx 信息类状态码:表示请求已被接收,需要进一步处理。

  2. 2xx 成功类状态码:表示请求已成功被服务器接收、理解和处理。

  3. 3xx 重定向类状态码:表示需要进一步的操作以完成请求。

  4. 4xx 客户端错误类状态码:表示请求包含语法错误或无法完成请求。

  5. 5xx 服务器错误类状态码:表示服务器在处理请求时发生了错误。

HTTP有哪些常见的状态码

     

HTTP协议常见的状态码有以下几种:

  1. 1xx:信息性状态码,表示请求已被接收并继续处理。

  2. 2xx:成功状态码,表示请求已成功被服务器接收、理解、并接受。

  • 200 OK:请求成功。
  • 201 Created:请求已经被实现,新的资源已经依据请求的需要而建立。
  • 204 No Content:服务器成功处理了请求,但没有返回任何内容。
  1. 3xx:重定向状态码,表示需要进一步操作以完成请求。
  • 301 Moved Permanently:永久性重定向,资源已被分配了新的URL。
  • 302 Found:暂时性重定向,资源已被分配了新的URL,但是今后还可能发生变化。
  • 304 Not Modified:客户端发送了一个带有条件的GET请求,服务器允许访问资源,但未满足条件请求。
  1. 4xx:客户端错误状态码,表示请求包含错误、无法被服务器理解或被拒绝。
  • 400 Bad Request:请求无效,服务器无法理解请求。
  • 401 Unauthorized:请求要求身份验证。
  • 404 Not Found:请求的资源不存在。
  1. 5xx:服务器错误状态码,表示服务器在处理请求时发生错误。
  • 500 Internal Server Error:服务器内部错误,无法完成请求。
  • 502 Bad Gateway:服务器作为网关或代理,从上游服务器收到无效的

 

Http协议中有那些请求方式  

    

在HTTP协议中,常用的请求方式有以下几种:

  1. GET:用于获取资源,向服务器请求指定的资源。GET请求可以包含数据在URL的查询字符串中,也可以在请求体中携带数据,但是不常使用。

  2. POST:用于提交数据,向服务器提交数据,请求服务器使用请求体中的数据执行特定的操作。

  3. PUT:用于更新资源,向服务器发送数据更新指定的资源,如果资源不存在,则会创建新的资源。

  4. DELETE:用于删除资源,向服务器发送请求删除指定的资源。

  5. HEAD:类似于GET请求,但只返回响应状态行和头部信息,不返回响应体。

  6. OPTIONS:用于获取服务器支持的HTTP方法。

  7. PATCH:用于更新资源的部分内容,向服务器发送数据更新指定的资源的部分内容。

  8. TRACE:用于追踪请求-响应的路径。

  9. CONNECT:用于与代理服务器建立隧道。

GET方法与POST方法的区别

     

GET方法和POST方法是HTTP协议中常用的两种请求方法,它们在以下几个方面有所不同:

  1. 数据传输方式:GET方法将请求参数附加在URL后面,以问号(?)分隔,参数之间用&连接。而POST方法则将请求参数放在请求体中,不会显示在URL中。

  2. 安全性:GET方法的请求参数可以直接在URL中看到,因此不适合传输敏感信息,例如密码等。而POST方法的请求参数放在请求体中,不会直接暴露在URL中,因此相对安全。

  3. 数据长度限制:由于GET方法的请求参数直接附加在URL后面,URL长度有限制,通常为2K字符。而POST方法将请求参数放在请求体中,没有长度限制。

  4. 缓存:GET方法的请求结果可以被缓存,因为请求是幂等的,即相同的请求总是返回相同的结果。而POST方法的请求结果通常不会被缓存,因为请求可能有副作用,例如创建或修改资源。

  5. 幂等性:GET方法是幂等的,即同一个请求可以多次执行而不会产生不同的效果。而POST方法通常不是幂等的,即多次执行同一个请求可能会产生不同的效果,例如创建多个资源。

http版本的对比  

    

以下是HTTP版本的简要对比:

  1. HTTP/1.0:
  • HTTP/1.0是最早的HTTP协议版本。
  • 它使用短连接,每次请求都需要建立新的TCP连接。
  • 不支持请求头的Host字段,因此无法在同一台服务器上请求多个网站。
  • 不支持持久连接和流水线,每次请求-响应都需要等待前一个请求-响应完成。
  1. HTTP/1.1:
  • HTTP/1.1是HTTP/1.0的改进版本。
  • 引入了持久连接和流水线技术,可以在同一TCP连接上发送多个请求和响应,减少了建立连接的开销。
  • 引入了请求头的Host字段,使得在同一台服务器上请求多个网站成为可能。
  • 支持分块传输编码(Chunked Transfer Encoding),可以实现边下载边解压缩。
  • 支持断点续传。
  1. HTTP/2:
  • HTTP/2是HTTP/1.1的进一步改进版本。
  • 引入了二进制分帧层,将HTTP消息分解为多个帧,并交错发送,提高了并发性能。
  • 支持头部压缩,减少了数据传输量。
  • 支持服务器主动推送(Server Push),服务器可以在客户端请求之前主动推送相关资源。
  • 支持流的优先级,可以调整并发请求的优先级。
  • 使用单一的TCP连接,减少了连接的建立和关闭的开销。

总结

     

HTTP(Hypertext Transfer Protocol)是一种用于传输超文本的应用层协议。在进行HTTP通信时,客户端向服务器发送请求,服务器根据请求返回相应的状态码。下面是关于HTTP状态码和分类以及请求方式的总结。

  1. HTTP状态码:
  • 1xx:信息性状态码,表示请求已被接收并继续处理。
  • 2xx:成功状态码,表示请求被成功接收、理解和处理。
  • 3xx:重定向状态码,表示需要采取进一步的操作来完成请求。
  • 4xx:客户端错误状态码,表示服务器无法处理请求。
  • 5xx:服务器错误状态码,表示服务器处理请求时发生错误。
  1. HTTP状态码分类:
  • 1xx:100 Continue, 101 Switching Protocols等。
  • 2xx:200 OK,201 Created,204 No Content等。
  • 3xx:301 Moved Permanently,302 Found,304 Not Modified等。
  • 4xx:400 Bad Request,403 Forbidden,404 Not Found等。
  • 5xx:500 Internal Server Error,503 Service Unavailable等。
  1. HTTP请求方式:
  • GET:用于请求获取资源,对服务器数据没有影响,常用于获取数据。
  • POST:用于向服务器提交数据,对服务器数据有影响,常用于发送表单数据。
  • PUT:用于向服务器上传数据,对服务器数据有影响,常用于更新资源。
  • DELETE:用于删除服务器上的资源,对服务器数据有影响。
  • HEAD:类似于GET请求,只返回响应头信息,不返回实体主体。
  • OPTIONS:用于获取目标URL所支持的通信选项。
  • 26
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值