重新认识下-HTTP

277 阅读3分钟

闲暇之余复习整理-内容来自《图解http》

了解 Web 及网络基础

Web 使用一种名为 HTTP(HyperText Transfer Protocol,超文本传输协 议)的协议作为规范,完成从客户端到服务器端等一系列运作流 程。而协议是指规则的约定。可以说,Web 是建立在 HTTP 协议上通 信的。

  • TCP/IP 是互联网相关的各类协议族的总称
  • tcp/ip:像这样把与互联网相关联的协议集合起来总称为 TCP/IP。
  • TCP/IP 协议族按层次分别分 为以下 4 层:应用层、传输层、网络层和数据链路层。
  • 应用层:FTP(File Transfer Protocol,文件传输协议)和 DNS(Domain Name System,域名系统)服务就是其中两类。 HTTP 协议也处于该层。
  • 传输层:有两个性质不同的协议:TCP(Transmission Control Protocol,传输控制协议)和 UDP(User Data Protocol,用户数据报 协议)。
  • 网络层:网络层用来处理在网络上流动的数据包。数据包是网络传输的最小数 据单位。该层规定了通过怎样的路径(所谓的传输路线)到达对方计算机,并把数据包传送给对方。
  • 链路层:用来处理连接网络的硬件部分。包括控制操作系统、硬件的设备驱 动、NIC(Network Interface Card,网络适配器,即网卡),及光纤等物理可见部分(还包括连接器等一切传输媒介)。硬件上的范畴均在 链路层的作用范围之内。

简单的HPPT协议

  • http无状态:不保留之前一切请求或响应的信息。为了更快的处理大量事务,确保协议的可伸缩性,而特意把http设计的如此简单。
  • keep-alive 共用一个tcp连接。
  • 管线化:持久连接使得多数请求以管线化(pipelining)方式发送成为可能。从 前发送请求后需等待并收到响应,才能发送下一个请求。管线化技术出现后,不用等待响应亦可直接发送下一个请求。
  • 使用Cookie管理状态,http是无状态的,无法根据之前的状态进行本次的请求处理。

返回结果的Http状态码

状态码的职责是当客户端向服务器端发送请求时,描述返回的请求结 果。借助状态码,用户可以知道服务器端是正常处理了请求,还是出 现了错误。

web服务器

  • 代理:代理是一种有转发功能的应用程序,它扮演了位于服务器和客户端“中间人”的角色,接收由客户端发送的请求并转发给服务器,同时也接收服务器返回的响应并转发给客户端。
  • 网关:网关是转发其他服务器通信数据的服务器,接收从客户端发送来的请求时,它就像自己拥有资源的源服务器一样对请求进行处理。有时客户端可能都不会察觉,自己的通信目标是一个网关。
  • 隧道:隧道是在相隔甚远的客户端和服务器两者之间进行中转,并保持双方通信连接的应用程序。

http首部