跳到主要内容

HTTP 的状态码和基本概念

五大类 HTTP 状态码

状态码范围状态码类型状态码描述
1xx信息性状态码接收的请求正在处理
2xx成功状态码请求正常处理完毕
3xx重定向状态码需要进行附加操作以完成请求
4xx客户端错误状态码服务器无法处理请求
5xx服务器错误状态码服务器处理请求出错
  • 100-199:提示信息,表示目前是协议处理的中间状态,还需要后续操作。

  • 200-299:成功接收到了请求,请求被正常处理。

    • 200 OK:请求成功。
    • 204 No Content:请求成功,但是没有返回内容。
    • 206 Partial Content:请求成功,但是只返回部分内容。
  • 300-399:重定向状态码,需要进行附加操作以完成请求。

    • 301 Moved Permanently:永久重定向,表示请求的资源已经不再了需要改用新的 URL
    • 302 Found:临时重定向,表示暂时需要另一个 URL 来访问资,请求的资源还是存在的
    • 304 Not Modified:未修改,表示资源未被修改,可以直接使用缓存的资源
  • 400-499:客户端错误状态码,服务器无法处理请求。

    • 400 Bad Request:请求错误,服务器无法理解请求。
    • 401 Unauthorized:未授权,需要进行身份验证。
    • 403 Forbidden:禁止访问,服务器拒绝请求。
    • 404 Not Found:未找到,服务器找不到请求的资源。
    • 405 Method Not Allowed:方法不允许,请求方法不被允许。
    • 408 Request Timeout:请求超时,服务器等待请求的时间过长。
  • 500-599:服务器错误状态码,服务器处理请求出错。

    • 500 Internal Server Error:服务器内部错误,服务器遇到错误,无法完成请求。

HTTP 的基本概念

HTTP 是超文本传输协议,主要分为三个部分,超文本,传输,协议。 HTTP 是明文传输的所以是不安全的, HTTP 是在计算机中两点之间传输超文本(文本、图片、音频、视频等)的协议。

HTTP 和 HTTPS 的区别

HTTP 和 HTTPS 的主要区别在于安全性和加密性。

HTTPHTTPS
明文传输加密传输
80443
无证书有证书

HTTPS 是在 HTTP 的基础上映入了 SSL/TLS 协议,SSL/TLS 协议是在传输层对数据进行加密,保证数据的安全性。

HTTPS 解决了 HTTP 的什么问题

HTTPS 在通讯建立前采用非对称加密的方式进行交换密钥,后续就不再使用非堆成加密。 HTTPS 在通讯过程中全部使用对称加密的方式进行加密密文传输。

公钥加密是一种使用两个不同的密钥加密或签署数据的方法,并使其中一个密钥(即公钥)可供任何人使用。另一个密钥称为私钥。用公钥加密的数据只能用私钥解密。由于这种方法使用两个密钥而不是一个,公钥加密也称为非对称加密。

具体使用 https 的 web 服务器

  • 客户使用 https 的 URL 访问 web 服务器
  • web 服务器将自己的公钥证书发送给客户端
  • 客户端收到了 web 服务器的公钥证书,验证证书的合法性,建立会话密钥,注意这个会话密钥是对称加密的
  • web 服务器利用自己的私钥解密会话密钥,建立安全通道

HTTPS 的缺点

HTTPS 虽然比 HTTP 更加安全,但是 HTTPS 对服务器的压力更大,因为 HTTPS 需要对数据进行加密解密,所以会消耗更多的服务器资源。 在 HTTPS 的握手过程中,需要进行非对称加密,这个过程比较耗时,会影响网站的访问速度。 SSL 证书是要费用的,所以小网站可能不会使用 HTTPS。 SSL 证书不仅有有效日期还要绑定域名。