01 前端HTTP协议(图解HTTP) 之 网络基础
1. 什么是http
http(HyperText Transfer Protocol,超文本船速协议
):是一种协议规范
,完成从客户端到服务器端等一系列运作流程。而协议
是指规则的约定。可以说:Web是建立在HTTP协议上通信的。
2. TCP/IP 网络基础
通常使用的网络是在TCP/IP
协议族的基础上运作的,而HTTP属于它内部的一个子集。
2.1 协议(protocol)
协议(protocol): 当计算机与网络设备需要通信,双方需要基于相同的方法(例如:如何探测到通信目标,哪边先发起通信,使用哪种语言通信,怎样结束通信等),这些遵循的的一种规则就是协议(protocol)
。
把互联万相关的协议集合起来统称TCP/IP
。也可以认为TCP/IP
是TCP
和IP
两种协议。
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)。不要将IP
和IP地址
搞混淆。
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) 之 网络基础相关推荐
- 【前端词典】进阶必备的网络基础(下)
前言 在上一篇我提到了前端面试频率较高的几个网络基础知识,这一篇我会把上一篇遗留的五个尽力讲清楚.如果还没有来得及看上一篇,那么现在可以一起看. 目录 接下来我会讲以下内容: 五类 IP 地址 跨域的 ...
- 图解HTTP之一--网络基础(TCP/IP、DNS)
网络基础TCP/IP 1. TCP/IP协议族 计算机与网络设备要相互通信,双方就必须基于相同的方法.比如:如何探测到通信目标.由哪一边先发起通信.使用哪种语言进行通信.怎样结束通信等规则都需要事先确 ...
- 05 前端HTTP协议(图解HTTP) 之 HTTP首部
1. HTTP 报文 HTTP报文 = 报文首部 + '空行(CR+LF)' + 报文主体 复制代码 2. HTTP首部字段类型 HTTP首部字段是构成HTTP报文的要素之一.在客户端和服务器端以HT ...
- TCP/IP协议(一)网络基础知识
参考书籍为<图解tcp/ip>-第五版.这篇随笔,主要内容还是TCP/IP所必备的基础知识,包括计算机与网络发展的历史及标准化过程(简述).OSI参考模型.网络概念的本质.网络构建的设备等 ...
- 拦截锚点修改url_前端系列课程(2)-网络基础概念(URL)
[1] IP 地址(internet protocol address) IP 地址,是设备在某一个网络中的地址,常见格式为:[0~255].[0~255].[0~255].[0~255],即四个 0 ...
- 网络协议和浏览器到网络简单攻防实现的探索(二)
一.关于网络协议的整体梳理 1.1 客户端和服务端的通信 常见的架构,B/S和C/s架构.而在浏览器中运行王爷的属于B/S架构.网页浏览器通过地址栏的url获取服务器对应的资源文件.通过浏览器的处理后 ...
- HTTP协议【网络基础/应用层】
文章目录 1. 网络基础 TCP/IP 2. 与HTTP密切相关的协议 2.1 负责传输的 IP 协议 路由选择 2.2 确保可靠性的 TCP 协议 三次握手 2.3 负责域名解析的 DNS 服务 2 ...
- 《图解HTTP》读书笔记--第1章 了解Web及网络基础
写在前面:本文仅供个人学习使用,如有侵权,请联系删除.文章中所用图片绝大多数来源于<图解HTTP>,请读者支持原版. 文章目录 第1章 了解Web及网络基础 1.1 使用HTTP协议访问W ...
- 通信网络基础期末复习-第一章和第二章-概论和端到端的传输协议
写在前面:本课程授课教师为韩彦芳.本文仅供个人复习学习.构建知识体系所用. 文章目录 第1章 通信网络概述及数学基础 1.1 通信网络的基本构成 1.2 协议体系及分层的概念 1.2.1分层的概念 1 ...
最新文章
- AAAI 2020 | 多模态基准指导的生成式多模态自动文摘
- 《新一代城市大脑建设与发展》专家研讨会在京举办(新版)
- 使用SharedPreferences进行数据存储
- 亮度均匀性 matlab,求:亮度保持的夜景图像直方图均衡算法 matlab程序
- Direct3D 开发之旅 3D 游戏基本概念的介绍2
- flash人物原地走路,Flash制作小人走路简单动画图文教程
- 配置iSCSI部署网络存储
- 摇一摇根据城市位置推荐酒店
- 深入了解Oracle数据字典升级脚本catupgrd.sql调用过程
- C/C++ 文件读取操作 竞赛篇
- TensorFlow基础知识:计算图中的Op,边,和张量
- 路由器手机测试网速的软件,4个实用的无线路由器WiFi检测工具,让你网速又快又稳定...
- QQ安装包可能被非法改动导致安装失败怎么办
- 刚刚,陶哲轩惨遭3个物理学家狠狠打脸,一条数学公式或将引起教科书改革
- 鹏业安装算量NETDWGCOM接口创建失败处理办法
- MySQL year函数
- 2018.8.14 李开复重返 TED 演讲稿双语版
- 网上买包包首选的3个网站(必看的3个包包网站)
- PXE网络批量装机+Kickstart无人值守安装
- 计算机体系结构的庖丁解牛