Web基础

作者: _白羊 | 来源:发表于2018-11-05 14:38 被阅读8次

    HTTP

    HTTP 是一种可靠的数据传输协议,能够确保在数据传输过程中数据的完整性。

    Web客户端和服务器

    Web 客户端(web资源的宿主)发送请求,请求资源;服务器(又称为 HTTP 服务请,存储web资源)接受请求,并在 HTTP 响应中返回请求的资源。

    媒体类型(MIME type)

    对应于数千种不同的数据进行处理时,HTTP会给每种要通过web传输的对象都打上MIME类型的数据标签格式。Web服务器会为所有的HTTP对象数据附加一个MIME类型。大多数的浏览器否可以处理上百种常见的对象类型。
    MIME格式一种文本标签,表示一种主要的对象类型和一个特定的子类型,中间有一道斜杠来分隔。
    例如:
    • HTML 格式的文本文档由 text/html 类型来标记。
    • 普通的 ASCII 文本文档由 text/plain 类型来标记。
    • JPEG 版本的图片为 image/jpeg 类型。
    • GIF 格式的图片为 image/gif 类型。
    • Apple 的 QuickTime 电影为 video/quicktime 类型。
    • 微软的 PowerPoint 演示文件为 application/vnd.ms-powerpoint 类型。

    URI

    服务器资源名称,被称作统一资源标识符(Uniform Resource Identifier)。有URL和URN两种形式。

    URL

    统一资源定位符,URI最常见的形式。描述了一台特定的服务器上某资源的特定位置,可以准确的说明如何从一个精确、固定的位置获取资源。
    大部分的URL都遵循一种标准:
    • URL 的第一部分被称为方案(scheme),说明了访问资源所使用的协议类型。这部分通常就是 HTTP 协议(http://)、HTTPS协议((https://)、FTP协议((ft p://)。
    • 第二部分给出了服务器的因特网地址(比如,www.joes-hardware.com)。
    • 其余部分指定了 Web 服务器上的某个资源(比如,/specials/saw-blade.gif)。

    URN

    统一资源名,URN是作为特定内容的唯一名称使用的,与目前资源的存储位置无关。使用这些与位置无关的URN,可以将资源四处搬移,还可以通过使用同一个名字通过多种网络协议来访问资源。

    事务

    一个HTTP事务是由一条(从客户端发往服务器)请求命令和一条(从服务器发回客户端)响应结果组成的。这种通信是通过名为HTTP报文(HTTP message)的格式化数据块进行的。

    报文

    HTTP报文是由一行一行简单的字符串组成的,都是纯文本,不是二进制代码,人们可以很方便的读写。报文只有请求报文(从 Web 客户端发往 Web 服务器的 HTTP 报文)和响应报文(从 服务器发往客户端的报文称为响应报文)两种。

    连接

    HTTP是一个应用层协议,HTTP不关注网络通信的具体细节,把联网细节都交给了TCP/IP协议。
    TCP 提供了:
    • 无差错的数据传输;
    • 按序传输(数据总是会按照发送的顺序到达);
    • 未分段的数据流(可以在任意时刻以任意尺寸将数据发送出去)。
    HTTP协议位于TCP层之上。HTTP使用TCP来传输其报文数据。与之类似,TCP 则位于 IP 的上层


    HTTP 网络协议栈.png

    连接、IP地址及端口号

    HTTP客户端向服务器端发送报文之前,需要使用网际协议(IP)地址和端口号在客户端和服务器端建立一条TCP/IP连接。
    步骤如下:
    (a) 浏览器从 URL 中解析出服务器的主机名;
    (b) 浏览器将服务器的主机名转换成服务器的 IP 地址; (c) 浏览器将端口号(如果有的话)从 URL 中解析出来; (d) 浏览器建立一条与 Web 服务器的 TCP 连接;
    (e) 浏览器向服务器发送一条 HTTP 请求报文;
    (f) 服务器向浏览器回送一条 HTTP 响应报文;
    (g) 关闭连接,浏览器显示文档。

    使用Telnet实例

    Telnet 程序可以将键盘连接到某个目标 TCP 端口,并将此 TCP 端口的输出回送到 显示屏上。Telnet 常用于远程终端会话,但它几乎可以连接所有的 TCP 服务器,包 括 HTTP 服务器。
    可以通过 Telnet 程序直接与 Web 服务器进行对话。通过 Telnet 可以打开一条到 某台机器上某个端口的 TCP 连接,然后直接向那个端口输入一些字符。Web 服务 器会将 Telnet 程序作为一个 Web 客户端来处理,所有回送给 TCP 连接的数据都 会显示在屏幕上。

    Web的结构组件

    • Web 浏览器
    • Web 服务器
    • 代理
    位于客户端和服务器之间的 HTTP 中间实体,接收所有客户端的 HTTP 请求,并 将这些请求转发给服务器(可能会对请求进行修改之后转发)。
    • 缓存
    HTTP 的仓库,使常用页面的副本可以保存在离客户端更近的地方。
    • 网关
    连接其他应用程序的特殊 Web 服务器。
    • 隧道
    对 HTTP 通信报文进行盲转发的特殊代理。
    • Agent 代理
    发起自动 HTTP 请求的半智能 Web 客户端。

    相关文章

      网友评论

          本文标题:Web基础

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