关于HTTP常见问题

http 和 https 的区别

  • HTTPS = HTTP + SSL(安全套接字协议)
  • https 有 ca 证书,http 一般没有
  • http 是超文本传输协议,信息是明文传输。https 则是具有安全性的 ssl 加密传输协议
  • http 默认 80 端口,https 默认 443 端口。

网络分层(OSI)里七层模型

  • 应用层:允许访问 OSI 环境的手段
  • 数据链路层:定义了如何让格式化数据以帧为单位进行传输
  • 表示层:对数据进行翻译、加密和压缩
  • 会话层:建立、管理和终止会话
  • 传输层:提供端到端的可靠报文传递和错误恢复
  • 网络层:负责数据包从源到宿的传递和网际互连
  • 物理层:通过媒介传输比特, 确定机械及电气规范

HTTP 状态码知道哪些?分别什么意思?

  • 1xx 表示信息, 服务器收到请求, 需要请求者继续执行操作
  • 2xx 表示成功,处理完毕
  • 3xx 表示需要进一步操作
  • 4xx 表示客户端方面出错
  • 5xx 表示服务器方面出错

2xx (3种)

  • 200 OK:表示从客户端发送给服务器的请求被正常处理并返回;
  • 204 No Content:表示客户端发送给客户端的请求得到了成功处理,但在返回的响应报文中不含实体的主体部分(没有资源可以返回);
  • 206 Patial Content:表示客户端进行了范围请求,并且服务器成功执行了这部分的GET请求,响应报文中包含由Content-Range指定范围的实体内容。

3xx (5种)

  • 301 Moved Permanently:永久性重定向,表示请求的资源被分配了新的URL,之后应使用更改的URL;
  • 302 Found:临时性重定向,表示请求的资源被分配了新的URL,希望本次访问使用新的URL;
  • 301与302的区别:前者是永久移动,后者是临时移动(之后可能还会更改URL)
  • 303 See Other:表示请求的资源被分配了新的URL,应使用GET方法定向获取请求的资源;
  • 302与303的区别:后者明确表示客户端应当采用GET方式获取资源
  • 304 Not Modified:表示客户端发送附带条件(是指采用GET方法的请求报文中包含if-Match、If-Modified-Since、If-None-Match、If-Range、If-Unmodified-Since中任一首部)的请求时,服务器端允许访问资源,但是请求为满足条件的情况下返回改状态码;
  • 307 Temporary Redirect:临时重定向,与303有着相同的含义,307会遵照浏览器标准不会从POST变成GET;(不同浏览器可能会出现不同的情况);

4xx (4种)

  • 400 Bad Request:表示请求报文中存在语法错误;
  • 401 Unauthorized:未经许可,需要通过HTTP认证;
  • 403 Forbidden:服务器拒绝该次访问(访问权限出现问题)
  • 404 Not Found:表示服务器上无法找到请求的资源,除此之外,也可以在服务器拒绝请求但不想给拒绝原因时使用;

5xx (2种)

  • 500 Inter Server Error:表示服务器在执行请求时发生了错误,也有可能是web应用存在的bug或某些临时的错误时;
  • 503 Server Unavailable:表示服务器暂时处于超负载或正在进行停机维护,无法处理请求;

猜你喜欢

转载自blog.csdn.net/Robergean/article/details/120074543