图解HTTP

网络基础 TCP/IP
  TCP/IP: 互联网通信协议的统称
  分层管理:应用层,传输层,网络层和数据链路层
  1. 应用层:决定用户提供应用服务时通信的活动(比如:FTP 文件传输协议,DNS 域名解析(www.baodu.com<-->119.75.217.109),HTTP 超文本传输协议 也是这层)
  2. 传输层:提供处于网络连接中的两台计算机之间的数据传输(TCP 传输控制协议)
  3. 网络层:处理网络中流程的数据包。规定通过怎样的路径,到达对方计算机,并把数据包给对方(IP协议)
  4. 链路层:决定连接网络的硬件部分

  HTTP协议规定:请求从客户端发出,最后服务器响应该请求并返回。换句话说,肯定是先从客户端建立通信,服务器端在没有收到请求之前是不会发送响应的

 状态码:数字中的第一位指定了响应类型
  1XX : 信息性状态码(接收的请求正在处理)
  2XX : 成功状态码(请求正常处理完毕)
  3XX : 重定向状态码(需要进行附加操作以完成请求)
  4XX : 客户端错误状态码(服务器无法处理请求)
  5XX : 服务器错误状态码(服务器处理请求出错)

 常用的状态码:
  204:请求处理成功,但没有资源可返回
  206:对资源某一部分的请求

  301:永久性重定向 请求的资源已被分配的新的URI,以后应使用新的URI访问
  302 : 临时性重定向 和301相似 但表示资源不是永久移动,只是临时性质的
  303:由于请求的资源存在另一个URI,应使用get方法定向获取请求资源
  (当301,302,303响应状态码返回时,几乎所有的浏览器都会把post 改成get,并删除请求报文主体,请求会再次自动发送。)
  304: 客户端发送附带条件的请求,服务器允许请求访问资源,但为满足条件查询
  307: 同302

  400 请求报文中存在语法错误
  401 发送的请求需要要认证信息,如已经进行过一次请求,则表示认证失败
  403 请求资源的访问被服务器拒绝
  404 服务器没有找到请求的资源

  500 服务器端在执行请求时发生错误
  503 服务器暂时处于超负荷或停机维护,现在无法处理请求

  504错误代表网关超时 (Gateway timeout),是指服务器作为网关或代理,但是没有及时从上游服务器收到请求。


  网关:转发其他服务器通信数据的服务器,接收从客户端发过来的请求时,他就像自己拥有资源的源服务器一样对请求进行处理。有时客户端都不会察觉,自己的通信目标是一个网关
  隧道: 相隔很远的客户端和服务器两者之间进行中转,并保持双方通信连接的应用程序(目的:通信安全)


原文地址:https://www.cnblogs.com/xinxin-ting/p/11843924.html