面试-《图解HTTP》二

继上一篇总结HTTP知识点之后(https://www.jianshu.com/p/33edd42ebef9),这篇继续总结知识点

1.HTTP返回的状态码

HTTP状态码负责表示客户端HTTP请求的返回结果,标记服务器端的处理是否正常,通知出现的错误等工作。数字第一位指定了响应的类型,后两位无差别,响应类型看下图

HTTP返回状态码

2.2XX 代表成功

  • 200:请求OK

表示从客户端发来的请求在服务器端被正常处理了

  • 204: 请求无链接

表示服务器接收的请求已成功处理,但是返回的响应报文中不含实体的主体部分,一般是用在从客户端往服务器发送消息,而对客户端不需要发送新信息内容的情况下使用

  • 206: 请求特定内容

表示客户端进行了范围请求,而服务器成功执行了这部分的GET请求。响应报文中包含由Cotent-Range指定范围的实体内容

3.3xx 重定向

3xx响应结果表明浏览器需要执行某些特殊的处理以正确处理请求

  • 301: Moved Permanently

永久性重定向,表示请求的资源已被分配了新的URI,以后应使用资源现在所指的URI

  • 302: Found

临时性重定向。该状态码表示请求的资源已被分配了新的URI,希望用户本次能使用新的URI访问

  • 303 See Other

该状态码表示由于请求对应的资源存在着另一个URI,应使用GET方向获取请求的资源

  • 304 Not Modified

表示客户端访问服务器端时,不包含任何响应的主体部分

  • 307 Temporary Redirect

临时重定向

4xx 客户端错误

4xx的响应结果表明客户端是发生错误的原因所在

  • 400 Bad Request

表示请求报文中存在语法错误

  • 401 Unauthorized

表示发送的请求需要有通过HTTP认证的认证信息

  • 403 Forbidden

表示对请求资源的访问被服务器拒绝了

  • 404 Not Found

表明服务器上无法找到请求的资源

5xx 服务器错误

5xx的响应结果表明服务器本身发生错误

  • 500 Internal Server Error

表情服务器端在执行事发生了错误

  • 503 Service Unavailable

表明服务器暂时处于超负载或正在进行停机维护,现在无法处理请求

6.代理

  • 代理的概念

代理是一种有转发功能的应用程序,接收由客户端发送的请求在转发服务器,同时也接收服务器返回的响应并转发给客户端

  • 代理的特性

直接转发,代理不改变请求URI,每次通过代理服务器转发请求或者响应时。会追加写入Via首部信息

  • 代理的优点

使用代理服务器的理由是:l y

  • 代理分类

根据基准分类,一种是是否使用缓存,一种是否会修改报文
缓存代理:

  • 代理图示


    代理图示

7.网关

网关是转发其他服务器通信数据的服务器,接收从客户端发送来的请求时,他就像自己拥有资源的源服务器一样对请求进行处理

8.隧道

隧道是在相隔甚远的客户端和服务器之间进行中转,并保持对方通信连接的应用程序

9.HTTP首部

客户端跟服务器端使用HTTP协议进行通信,数据以报文形式进行传输,客户端发请求时的报文是HTTP请求报文,服务器响应的报文是HTTP响应报文
HTTP请求报文由HTTP请求报文首部(方法,URI,HTTP版本,HTTP首部字段)和HTTP请求报文主体组成。结构如下图:


HTTP请求报文结构图

HTTP响应报文由HTTP响应报文首部(HTTP版本,状态码,数字说明,HTTP首部字段)和HTTP响应报文主体组成,结构如下图:


HTTP响应报文结构图

10.HTTP报文首部字段

  • HTTP报文首部字段概念

HTTP首部字段是构成HTTP报文的要素之一。在客户端与服务器之间以HTTP协议进行通信的过程中,无论是请求还是响应都会使用首部字段,他能起到传递额外重要信息的作用。首部字段是为了给浏览器和服务器提供报文主体大小,所使用的语言和认证信息等内容。

  • HTTP报文首部字段结构

HTTP 报文首部字段是由首部字段名和字段值构成,中间用冒号:分隔,


首部字段结构.png

如果HTTP首部字段中出现两个或者两个以上具有相同首部字段名,处理方式根据浏览器而定。

  • HTTP首部字段类型
  • 通用首部字段(General Header Fields)

请求报文和响应报文都会使用的首部

通用首部字段样式如下:


通用首部字段.png
  • 请求首部字段(Request Header Fields)

只能用于客户端向服务器端发送的请求报文中,目的是补充了请求的附件内容,客户端信息,响应内容相关优先级等信息


请求首部字段.png
  • 响应首部字段(Response Header Fields)

只能用于从服务端向客户端返回的响应报文中,目的是补充了响应的附加内容,也会要求客户端附加额外的内容信息


响应首部字段.png
  • 实体首部字段(Entity Header Fields)

针对请求报文和响应报文的实体部分使用的首部,目的是补充资源内容更新时间和实体相关信息


实体首部字段.png

此篇先记录到此,如有错误,请不吝赐教

你可能感兴趣的:(面试-《图解HTTP》二)