HTTP,全称是 Hyper Text Transfer Protocol,译为“超文本传输协议”(超文本转移协议)。
一、前言
在很久很久以前,人们为了在世界范围内轻松知识共享,提出了 Web(World Wide Web)的概念。简单来说,就是在 Web 浏览器的地址栏输入 Web 页面对应的 URL,Web 浏览器从 Web 服务器端获取到文件资源等信息,从而显示出 Web 页面。它使用 HTTP 协议为规范,完成在客户端与服务端一系列的运作流程。
最初,HTTP 协议出现是为了解决文本传输的难题。但由于协议本身非常简单,现在 HTTP 协议已经超出了 Web 这个框架,被运用到各种场景里。
尽管我们常说,在 Web 中客户端与服务器端是通过 HTTP 协议进行通信的,但不代表这个通信的全过程都由 HTTP 就能完成的。
2XX(成功)
200 OK:表示请求在服务端被正常处理了。
204 No Content:表示请求已正常处理,但在返回的响应报文中不含实体的主体部分。
206 Partial Content:表示客户端进行了范围请求,而服务器成功执行了这部分的 GET 请求。
3XX(重定向)
301 Moved Permanently:表示永久重定向。它会按照响应报文的 Location 字段重新发起请求。
302 Found:表示临时重定向。与 301 相似,但它只是临时性质的,换句话说,资源对应 URI 未来还有可能发生改变。
303 See Other:表示请求对应的资源存在着另一个 URI,应使用 GET 方法定向获取请求的资源。
304 Not Modified:表示服务器端资源未发生改变,可直接使用客户端未过期的缓存。尽管 304 被划分在 3XX 类别中,但它和重定向没有关系。
307 Temporary Redirect:临时重定向,与 302 Found 有着相同的含义。但它不会从 POST 变成 GET。
4XX(客户端错误)
400 Bad Request:表示请求报文中存在语法错误。
401 Unauthorized:表示用户认证失败,即请求需要有认证信息。
403 Forbidden:表示对请求资源的访问被服务器拒绝了。
404 Not Found:表示服务器上无法找到请求的资源。
5XX(服务器错误)
500 Internal Server Error:表示服务器端在执行 请求时发生了错误。
503 Service Unavailable:表示服务器暂时处于超负载或正在进行停机维护,现在无法处理请求。
HTTP,全称是 Hyper Text Transfer Protocol,译为“超文本传输协议”(超文本转移协议)。
一、前言
在很久很久以前,人们为了在世界范围内轻松知识共享,提出了 Web(World Wide Web)的概念。简单来说,就是在 Web 浏览器的地址栏输入 Web 页面对应的 URL,Web 浏览器从 Web 服务器端获取到文件资源等信息,从而显示出 Web 页面。它使用 HTTP 协议为规范,完成在客户端与服务端一系列的运作流程。
最初,HTTP 协议出现是为了解决文本传输的难题。但由于协议本身非常简单,现在 HTTP 协议已经超出了 Web 这个框架,被运用到各种场景里。
尽管我们常说,在 Web 中客户端与服务器端是通过 HTTP 协议进行通信的,但不代表这个通信的全过程都由 HTTP 就能完成的。
通常使用的的网络是在 TCP/IP 协议簇的基础上运作的,而 HTTP 属于它内部的一个子集。
二、概念
协议(Protocol)
在计算机与网络设备进行通信,双方需要基于相同的方法。不同的硬件、操作系统之间的通信,所有的这一切都需要一种规则,这种规则被称为“协议”。
TCP/IP 协议(簇)
TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇(Protocol Suite,也有译作“协议族”)。TCP/IP 协议不仅仅指的是 TCP 和 IP 两个协议,而是指由 FTP、SMTP、TCP、IP 等协议构成的协议簇。由于在 TCP/IP 协议中 TCP 协议和 IP 协议最具代表性,因此被称为 TCP/IP 协议。
计算机网络体系结构分层
OSI(Open System Interconnect)七层模型:
OSI 七层模型与 TCP/IP 四层模型的区别:
OSI 七层模型:
TCP/IP 四层模型:
TCP/IP 协议簇按层次分别分为:应用层、传输层、网络层和数据链路层。
三、HTTP
HTTP 状态码
HTTP 报文
未完待续...