HTTP

作者: 块垒 | 来源:发表于2016-09-27 21:12 被阅读46次

OSI 七层模型指什么?

  1. 物理层:将电脑链接起来的物理手段,用来传输0和1的电信号
  2. 数据链路层:确定0和1的分组方式,确定了网络数据包的形式。
  3. 网络层:引进网址,用以区分各个电脑是否处于同一个子网络
  4. 传输层:建立端口到端口的通信,实现程序之间的交流,比如一个接收到一个数据包,数据包是用来网页还是聊天,就要根据对应的端口来判断
  5. 会话层:在系统之间建立会话
  6. 表示层:确保一个系统所发送的数据可以被接收方读取,负责数据格式的转换,数据的加密、解压、压缩。
  7. 应用层:规定应用程序的数据格式。

HTTP 的工作原理是什么?

一次HTTP操作称为一个事务,其工作可分为四步:

  1. 客户机与服务器需要建立链接,只要单击摸个超级链接,HTTP的工作就开始了
  2. 建立链接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。
  3. 服务器接到请求后,给予相应的响应信息其格式为一个状态行,暴扣信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。
  4. 客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与服务器断开链接。

URI 的格式是什么?常见的协议有哪些

URI:统一资源标识符,是更通用的资源标识符,URL是他的一个子集。
URI由两个子集构成

  1. URL:通过描述资源的位置来描述资源
  2. URN:通过名字来识别资源和位置无关

组成部分:

<scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<hash>
  1. <scheme>:对于web页面来说最常用的协议就是http和https
  2. <user>:<password>:user和password现在不常见了
  3. <host>:主机可以使IPO地址或域名
  4. <port>:端口号用来区分主机上的进程,方便查找web服务器
  5. <path>:资源的路径,也就是存放的位置,不一定和物理路径完全对应,符合web服务器路由约定即可
  6. <params>:在一些协议中需要参数来访问资源
  7. <query>:这个是get请求最常用的传递参数方式
  8. <hash>:也称为片段,设计为标识文档的一部分,很多MVVM框架用作了路由功能

常见协议:http,https,ftp,mailto等

HTTP 协议有几种和服务器交互的方法

  1. GET:请求服务器获取某个资源
  2. POST:向服务器传送数据
  3. HEAD:与GET相似,请求服务器响应信息报头
  4. DELETE:请求服务器删除对应的URL
  5. PUT:请求服务器写入一个资源
  6. TRACE:请求服务器将收到的请求信息发回
  7. OPTIONS:请求查询服务器的性能,或查询与资源相关的选项和需求

状态码200,301, 304,403,404,500,503分别代表什么意思

  • 200:请求被服务器成功处理
  • 301:永久性重定向
  • 304:页面使用本地缓存,不像服务器发送请求
  • 403:服务器接收到请求,但是拒绝访问
  • 404:请求的资源找不到
  • 500:服务器执行请求发生错误
  • 503:服务器超负载或停机维护

报文有哪几部分组成?

  • HTTP请求报文由请求行(request line)、请求头部(header)、空行和请求数据4个部分组成.
  • HTTP响应报文由三个部分组成,分别是:状态行(status-line)、消息报头(headers)、响应正文(response-body)

请求头的格式和作用是什么?给个范例截图说明

请求头
  • Accept:告诉服务器浏览器能接收的数据类型
  • Accept-Enocoding:能接受的压缩格式类型
  • Accept-Language:告诉服务器能发送的语言
  • Cache-Control:缓存指示
  • Cookie:客户端信息
  • Host:请求的域名

首部的格式和作用是什么?给个范例截图说明

首部
  • Request URL:请求的URL
  • Request Method:请求的方法
  • Status Code:请求的状态
  • Remote Address:服务器ip和端口

主体的作用是什么?给个范例

主体

主体就是客户端和服务端之间传输的主要内容

简述浏览器缓存是如何控制的

浏览器第一次请求:


浏览器第一次请求

浏览器再次请求:


浏览器再次请求
  • Expires策略:是Web服务器响应消息头字段,在响应http请求时告诉浏览器在过期时间前浏览器可以直接从浏览器缓存取数据,而无需再次请求
  • Cache-control策略:与Expires作用一致,都是指明当前资源的有效期。只不过选择更多,设置更细致,其优先级高于Expires
    浏览器缓存参考

相关文章

网友评论

    本文标题:HTTP

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