• 3 与HTTP相关的各种协议


    1 TCP/IP

    TCP/IP是网络世界最常用协议,HTTP通常运行在TCP/IP提供的可靠传输基础上
    image
    IP 协议是“Internet Protocol”的缩写,主要目的是解决寻址和路由问题,以及如何在两点间传送数据包。

    • IP 协议V4版本:地址是四个用“.”分隔的数字,容量2^32。
    • IP 协议V6版本:地址是用八组“:”分隔的数字,容量2^128。

    TCP协议是“Transmission Control Protocol”的缩写,意思是“传输控制协议”,它位于 IP 协议之上,基于 IP 协议提供可靠的、字节流形式的通信,是 HTTP 协议得以实现的基础。

    • “可靠”是指保证数据不丢失
    • “字节流”是指保证数据完整

    所以在 TCP 协议的两端可以如同操作文件一样访问传输的数据,就像是读写在一个密闭的管道里“流动”的字节。

    2 DNS

    DNS域名是IP地址的等价替代,需要用域名解析实现到IP地址的映射

    DNS:“域名系统”(Domain Name System)

    • “域名”(Domain Name)也称为“主机名”(Host),用“.”分割多个单词,级别从左到右逐层提高。
    • 最右边称为顶级域名,如 com 表示商业公司,edu 表示教育机构,cn ck 表示国家。

    域名解析:把域名做转换,“映射”到它的真实IP。
    image

    3 URI/URL

    URI是用来标记互联网上资源的一个名字,由“协议名+主机名+路径”构成,俗称 URL

    URI(Uniform Resource Identifier),中文名称是 统一资源标识符,使用它就能够唯一地标记互联网上资源。

    URL(Uniform Resource Locator), 统一资源定位符,也就是我们俗称的“网址”,它实际上是 URI 的一个子集,不过因为这两者几乎是相同的,差异不大,所以通常不会做严格的区分。

    URI的三个基本的部分:

    1. 协议名:即访问该资源应当使用的协议,在这里是“http”;
    2. 主机名:即互联网上主机的标记,可以是域名或 IP 地址,如“nginx.org”;
    3. 路径:即资源在主机上的位置,使用“/”分隔多级目录,在如“/en/download.html”。

    4 HTTPS

    HTTPS相当于“HTTP+SSL/TLS+TCP/IP”,为HTTP套上一个安全的外壳

    HTTPS 全称:“HTTP over SSL/TLS”,运行在SSL/TLS协议上的HTTP。

    SSL 全称:“Secure Socket Layer”,是一个负责加密通信的安全协议,建立在 TCP/IP 之上,所以也是个可靠的传输协议,可以被用作 HTTP 的下层。

    SSL发展到 3.0 时被标准化,改名为 TLS,即“Transport Layer Security”,但由于历史的原因还是有很多人称之为 SSL/TLS,或者直接简称为 SSL。

    SSL 使用了许多密码学最先进的研究成果,综合了 对称加密、非对称加密、摘要算法、数字签名、数字证书 等技术,能够在不安全的环境中为通信双方创建出一个秘密的,安全的传输通道,为HTTP 套上一个盔甲。

    5 代理

    代理是HTTP传输过程中的“中转站”,可以实现缓存加速,负载均衡等功能。

    代理(Proxy)是 HTTP 协议中请求方和应答方中间的一个环节,作为“中转站”,既可以转发客户端的请求,也可以转发服务器的应答。

    代理有很多的种类,常见的有:

    1. 匿名代理:完全“隐匿”了被代理的机器,外界看到的只是代理服务器;
    2. 透明代理:顾名思义,它在传输过程中是“透明开放”的,外界既知道代理,也知道客户端;
    3. 正向代理:靠近客户端,代表客户端向服务器发送请求;
    4. 反向代理:靠近服务器端,代表服务器响应客户端的请求。

    由于代理在传输过程中插入了一个“中间层”,所以可以在这个环节做很多有意思的事情,如:

    1. 负载均衡:把访问请求均匀分散到多台机器,实现访问集群化。
    2. 内容缓存:暂存上下行的数据,减轻后端的压力。
    3. 安全防护:隐匿IP 使用WAF 等工具抵御网络工具,保护被代理的机器。
    4. 数据处理:提供压缩、加密等额外的功能。
  • 相关阅读:
    复习静态页面polo-360
    fsm三种建模思路比较
    web前端学习(一) j2ee环境搭配+jsp中的编码问题
    git与github建立链接(学习笔记)
    g++编译多个源原文件和头文件(转载)
    百度搜索引擎设置
    Google自带截图工具的使用
    git与github建立链接(将本次项目与网络GitHub同步) --转存笔记
    初识JQuery(1)-选择器
    同步与异步的区别
  • 原文地址:https://www.cnblogs.com/hqq2019-10/p/14689230.html
Copyright © 2020-2023  润新知