美文网首页
面试-《图解HTTP》二

面试-《图解HTTP》二

作者: 329fd8af610c | 来源:发表于2019-04-29 23:33 被阅读0次

    继上一篇总结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》二

          本文链接:https://www.haomeiwen.com/subject/imgsgqtx.html