1. 什么是http

http(HyperText Transfer Protocol,超文本船速协议):是一种协议规范,完成从客户端到服务器端等一系列运作流程。而协议是指规则的约定。可以说:Web是建立在HTTP协议上通信的。

2. TCP/IP 网络基础

通常使用的网络是在TCP/IP协议族的基础上运作的,而HTTP属于它内部的一个子集。

2.1 协议(protocol)

协议(protocol): 当计算机与网络设备需要通信,双方需要基于相同的方法(例如:如何探测到通信目标,哪边先发起通信,使用哪种语言通信,怎样结束通信等),这些遵循的的一种规则就是协议(protocol)

把互联万相关的协议集合起来统称TCP/IP。也可以认为TCP/IPTCPIP两种协议。

2.2 TCP/IP 模型

应用层:决定向用户提供应用服务时的通信活动。TCP/IP协议族内预存各类通用的应用服务。例如FTP[File Transfer Protocol]DNS[Domain Name System]在改成,HTTP协议也处于该层。
传输层: 提供网络连接中的两台计算机之间的数据传输。TCP(Transmission Control Protocol)传输控制协议UDP(User Data Protocol)用户数据报协议处于该层。
网络层:处理网络上流动的数据包。数据包是网络传输的最小数据单位。该层对定了通过怎样的传输路线(在众多的路径中选择一条数据路线)到达对方计算机,并把数据传送给对方。IP(Internet Protocol)属于该层
数据链路层:用于处理联通网络的硬件部分。包括控制操作系统、硬件的设备驱动、NIC(Network Interface Card,网络适配卡[网卡])、光纤等物理可见部分。

发送端在层与层之间传输数据时,每经过一层必定会打上该层所属的首部信息接收端在曾与层传输数据时,每经过一层,会把对应的首部消去
这种把数据信息包装起来的做法叫做封装(encapsulate)

#3. 与HTTP关系密切的协议:IP、TCP和DNS

3.1 负责传输的IP协议

IP(Internet Protocol,网际协议):所有的网络系统都会用到IP协议(TCP/IP协议族中的IP)。不要将IPIP地址搞混淆。
IP协议:作用是将各种数据包传送给对方。传送正确的条件:

  • IP地址: 节点被分配到的地址
  • MAC地址: 网卡所属的固定地址(IP地址可以和MAC地址进行匹配,IP地址可变换,MAC地址基本不会变化)

ARP协议(Address Resolution Protocol): 地址解析协议。根据通信方的IP地址,反查出对应的MAC地址。
IP间的通信依赖MAC地址。在网络上,正常的双方通信是需要经过多台计算机和网络设备中转才能连接。在中转时,会利用下一站中转设备的MAC地址来搜索下一个中转目标。这是就会采用ARP协议

3.2 确保可靠性的TCP协议

TCP协议属于传输层,提供可靠的字节流服务,将数据准确可靠地传送给对方

字节流服务(Byte Stream Service): 为了方便传输,将大块数据分割成以报文段(segment)为单位的数据包进行管理。

为了准确无误地将数据送达目的地,TCP协议采用三次握手(three-way handshaking)策略。当数据包发送后,会向对方确认是否成功送达。握手标志(flag):

  • SYN(synchronize): 发送端 发送SYN标志给服务器端
  • ACK(acknowledgement): 服务端 返回SYN/ACK ,代表传达确认信息
  • 最后 发送端 再次回传ACK的数据报,代表握手结束。如果握手过程某个阶段中断,TCP协议会再次相同顺序发送相同数据包

3.3 负责域名解析的DNS服务

DNS(Domain Name System): 应用于应用层的协议,提供域名IP地址之间的解析服务 或 逆向从IP地址反查询域名的服务。

4. URI 和URL

URI(Uniform Resource Identifier): 统一资源标识符。由某个协议方案表示的资源定位标识符协议方案是指访问资源所使用的协议类型名称,例如HTTP协议的协议方案就是http

  • Uniform: 规定统一的格式方便处理多种不同类型的资源。
  • Resource: 可标识的任何东西。
  • Identifier: 可标识的对象,也称为标识符。

URL(统一资源定位符)表示资源的地点(互联网所处位置),可知URL是URI的子集。

URI 格式

上图是绝对URI的格式,其中每个具体属性描述如下:

  • 通过 协议方案名http:https: 获取 访问资源时 指定的协议类型,也可使用data:javascript:指定数据或脚本程序的方案名
  • 登录认证: 从服务获取资源时需要的登录信息(可选项)
  • 服务器地址:可以是域名(使用DNS解析),可以是IP地址
  • 服务器端口号:链接服务器的网络端口号,可选。
  • 带层次的文件路径: 指定服务器上的文件路径来定位特指的资源
  • 查询字符串: 可以使用查询字符串传入任意参数
  • 片段标识符:标记处以获取资源中的子资源(文档内的某个位置)

01 前端HTTP协议(图解HTTP) 之 网络基础相关推荐

  1. 【前端词典】进阶必备的网络基础(下)

    前言 在上一篇我提到了前端面试频率较高的几个网络基础知识,这一篇我会把上一篇遗留的五个尽力讲清楚.如果还没有来得及看上一篇,那么现在可以一起看. 目录 接下来我会讲以下内容: 五类 IP 地址 跨域的 ...

  2. 图解HTTP之一--网络基础(TCP/IP、DNS)

    网络基础TCP/IP 1. TCP/IP协议族 计算机与网络设备要相互通信,双方就必须基于相同的方法.比如:如何探测到通信目标.由哪一边先发起通信.使用哪种语言进行通信.怎样结束通信等规则都需要事先确 ...

  3. 05 前端HTTP协议(图解HTTP) 之 HTTP首部

    1. HTTP 报文 HTTP报文 = 报文首部 + '空行(CR+LF)' + 报文主体 复制代码 2. HTTP首部字段类型 HTTP首部字段是构成HTTP报文的要素之一.在客户端和服务器端以HT ...

  4. TCP/IP协议(一)网络基础知识

    参考书籍为<图解tcp/ip>-第五版.这篇随笔,主要内容还是TCP/IP所必备的基础知识,包括计算机与网络发展的历史及标准化过程(简述).OSI参考模型.网络概念的本质.网络构建的设备等 ...

  5. 拦截锚点修改url_前端系列课程(2)-网络基础概念(URL)

    [1] IP 地址(internet protocol address) IP 地址,是设备在某一个网络中的地址,常见格式为:[0~255].[0~255].[0~255].[0~255],即四个 0 ...

  6. 网络协议和浏览器到网络简单攻防实现的探索(二)

    一.关于网络协议的整体梳理 1.1 客户端和服务端的通信 常见的架构,B/S和C/s架构.而在浏览器中运行王爷的属于B/S架构.网页浏览器通过地址栏的url获取服务器对应的资源文件.通过浏览器的处理后 ...

  7. HTTP协议【网络基础/应用层】

    文章目录 1. 网络基础 TCP/IP 2. 与HTTP密切相关的协议 2.1 负责传输的 IP 协议 路由选择 2.2 确保可靠性的 TCP 协议 三次握手 2.3 负责域名解析的 DNS 服务 2 ...

  8. 《图解HTTP》读书笔记--第1章 了解Web及网络基础

    写在前面:本文仅供个人学习使用,如有侵权,请联系删除.文章中所用图片绝大多数来源于<图解HTTP>,请读者支持原版. 文章目录 第1章 了解Web及网络基础 1.1 使用HTTP协议访问W ...

  9. 通信网络基础期末复习-第一章和第二章-概论和端到端的传输协议

    写在前面:本课程授课教师为韩彦芳.本文仅供个人复习学习.构建知识体系所用. 文章目录 第1章 通信网络概述及数学基础 1.1 通信网络的基本构成 1.2 协议体系及分层的概念 1.2.1分层的概念 1 ...

最新文章

  1. AAAI 2020 | 多模态基准指导的生成式多模态自动文摘
  2. 《新一代城市大脑建设与发展》专家研讨会在京举办(新版)
  3. 使用SharedPreferences进行数据存储
  4. 亮度均匀性 matlab,求:亮度保持的夜景图像直方图均衡算法 matlab程序
  5. Direct3D 开发之旅 3D 游戏基本概念的介绍2
  6. flash人物原地走路,Flash制作小人走路简单动画图文教程
  7. 配置iSCSI部署网络存储
  8. 摇一摇根据城市位置推荐酒店
  9. 深入了解Oracle数据字典升级脚本catupgrd.sql调用过程
  10. C/C++ 文件读取操作 竞赛篇
  11. TensorFlow基础知识:计算图中的Op,边,和张量
  12. 路由器手机测试网速的软件,4个实用的无线路由器WiFi检测工具,让你网速又快又稳定...
  13. QQ安装包可能被非法改动导致安装失败怎么办
  14. 刚刚,陶哲轩惨遭3个物理学家狠狠打脸,一条数学公式或将引起教科书改革
  15. 鹏业安装算量NETDWGCOM接口创建失败处理办法
  16. MySQL year函数
  17. 2018.8.14 李开复重返 TED 演讲稿双语版
  18. 网上买包包首选的3个网站(必看的3个包包网站)
  19. PXE网络批量装机+Kickstart无人值守安装
  20. 计算机体系结构的庖丁解牛

热门文章

  1. 教师节|祝所有可爱的讲师节日快乐!
  2. 浅谈高并发系统性能调优
  3. ReactJs 第一章HelloWorld
  4. MyEclipse中常用设置。
  5. jvm面试之 Java内存模型之线程独占部分,线程共享部分,常问问题分析
  6. jquery.cookie.js使用
  7. 一行命令轻松获取JVM默认配置
  8. RHEL5 怎么装vim
  9. YAML,另一种标记语言?不止是标记语言!
  10. Java本地缓存CaffeineCache集成