HTTP

作者: ahong_吴 | 来源:发表于2017-01-24 16:13 被阅读17次
    1.OSI 七层模型指什么 (难度***)
    • 七层网络模型称为开放式系统互联参考模型 ,是一个逻辑上的定义,一个规范,它把网络从逻辑上分为了7层。

    • 物理层:该层包括物理连网媒介,如电缆连线连接器、网线、网卡等。在这一层,数据还没有被组织,仅作为原始的位流或电气电压处理,单位是bit比特。

    • 数据链路层:负责建立和管理节点间的链路。这一层的主要功能是在物理层提供的比特流的基础上,通过差错控制、流量控制方法,使有差错的物理线路变为无差错的数据链路。

    • 网络层:主要功能是将网络地址翻译成对应的物理地址,在源机器和目标机器之间建立它们所使用的路由。

    • 传输层:向用户提供可靠的端到端的差错和流量控制,保证报文的正确传输。

    • 会话层:不同机器上的用户之间建立及管理会话。

    • 表示层:应用程序和网络之间的翻译官,在表示层,数据将按照网络能理解的方案进行格式化

    • 应用层:它是计算机用户,以及各种应用程序和网络之间的接口。

    2.HTTP 的工作原理是什么? (难度***)
    • 客户端链接到服务器:首先客户机与服务器需要建立连接。只要单击某个超级链接,HTTP的工作就开始了。
    • 客户端向服务器发起HTTP请求:建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。
    • 服务器响应:服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。
    • 服务器断开链接:客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客http工作流程图户机与服务器断开连接。
    3.URI 的格式是什么?常见的协议有哪些 (难度***)
    • 格式:
      URI的格式.png
    • 协议:
      http:超文本传输协议,主要用于传输网络资源。(端口号80)
      https:超文本传输安全协议。使用超文本传输协议进行通讯且利用 SSL/TLS 协议来对封包进行加密。(端口号443)
      ftp:远程文件传输协议,允许用户将远程主机上的文件拷贝到自己的计算机上。
      smtp:简单邮政传输协议,用于传输电子邮件。
      ssh:为计算机上的 Shell 提供安全的传输和使用环境的安全协议。
    4.HTTP 协议有几种和服务器交互的方法 (难度***)
    • GET:获取资源,可在地址栏提交查询字符串;
    • POST:向指定资源提交数据进行处理请求(例如提交表单或者上传文件);
    • PUT:上传资源;
    • DELETE:删除资源;
    • HEAD:获取报文首部;
    • OPTIONS:返回服务器针对特定资源所支持的HTTP请求方法;
    • TRACE:返回显服务器收到的请求,主要用于测试或诊断。;
    • HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。

    虽然HTTP的请求方式有8种,但是我们在实际应用中常用的也就是get和post,其他请求方式也都可以通过这两种方式间接的来实现。

    5.状态码200,301, 304,403,404,500,503分别代表什么意思 (难度****)

    timg.jpg
    • 200 (SC_OK)的意思是一切正常。一般用于相应GET和POST请求。
    • 301 (SC_MOVED_PERMANENTLY)状态是指所请求的文档在别的地方;文档新的URL会在定位响应头信息中给出。浏览器会自动连接到新的URL。
    • 304 客户端有缓冲的文档并发出了一个条件性的请求(一般是提供If-Modified-Since头表示客户只想在指定日期更新的文档)。服务器告 诉客户,原来缓冲的文档还可以继续使用
    • 403 (SC_FORBIDDEN)的意思是除非拥有授权否则服务器拒绝提供所请求的资源。
    • 404 无法找到指定位置的资源;这也是一个常用的应答。
    • 500 是常用的“服务器错误”状态。
    • 503 表示服务器由于在维护或已经超载而无法响应。
    6.报文有哪几部分组成? (可选 难度****)
    • 请求行:报文行:规定请求方法、http协议的版本号、状态等
    • 请求头:请求报文添加了一些附加信息,由“名/值”对组成。
    • 空行:用于分隔报文头部和报文体。
    • 正文

    报文都可以分为两类:请求报文和响应报文。

    7.请求头的格式和作用是什么?给个范例截图说明 (可选 难度****)
    Paste_Image.png
    • Accept:浏览器能接收的资源类型
    • Accept-Encoding:浏览器能接收的数据压缩格式
    • Accept-Language:告知服务器能够处理的语言
    • Cache-Control:缓存控制
    • Connection:客户端和服务器是否保持链接。
    • Cookie:存在客户端的键值对文本。
    • host:请求资源所在的主机名。
    • User-Agent:发送请求的应用程序名称,客户端信息。
    8.首部的格式和作用是什么?给个范例截图说明
    • 通用首部字段:
      通用首部字段是指,请求报文和响应报文双方都会使用的首部。

      Paste_Image.png
    • 请求首部字段:
      请求首部字段是从客户端往服务器端发送请求报文中所用的字段,用于补充请求的附加信息、客户端信息、对响应内容相关的优先级等内容。

      Paste_Image.png
    • 响应首部:
      响应首部字段是由服务器端向客户端返回的报文。

      Paste_Image.png
    9.主体的作用是什么?给个范例(可选 截图说明难度****)

    返回客户端请求的资源

    Paste_Image.png
    10.简述浏览器缓存是如何控制的(可选 难度*****)
    • 通过制定首部字段cache-control的指令,指令的参数是可选的。
    • 缓存请求指令:
      no-store:不缓存请求或响应的任何内容。
      max-age=秒:响应的最大age值。
      min-fresh=秒:在指定时间内的响应有效。
      only-if-cached:从缓存获取资源。
      ...
    • 缓存响应指令:
      public:可向任意方提供响应的缓存。
      private:仅向特定用户返回响应。
      no-cache:缓存前必须先确认其有效性。
      ...
    • Expires:规定缓存具体过期日期,超过这个时间值后,缓存的内容将失效,而在期限内无需再次请求。
    Paste_Image.png
    • Last-Modified/EtagLast-Modified:一般用于表示一个服务器上的资源的最后修改时间。询问当前缓存的页面是否是最新的,如果是最新的就返回304状态码,告诉浏览器是最新的,服务器也不会传输新的数据。

    • 与Last-Modified字段有类似功能的还有一个Etag字段,这个字段的作用是让服务端给每个页面分配一个唯一的编号,然后通过这个编号来区分当前这个页面是否是最新的。

    11.下图各个参数是什么意思(可选 难度*****)
    报文_meitu_1.jpg

    相关文章

      网友评论

          本文标题:HTTP

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