第1章 了解web及网络基础

计算机与网络设备相互通信的规则称为协议,比如:如何探测到通信目标、由哪一边发起通信、使用那种语言进行通信、怎么结束通信等。

TCP/IP 协议族按照层次分为以下四层:应用层、传输层、网络层、数据链路层。

  1. 应用层:
    应用层决定了向用户提供应用服务时的通信活动。
    TCP/IP 协议族中预存了各类通用的应用服务,如:FTP(文件传输协议)、DNS(域名系统)、HTTP协议等。
  2. 传输层:
    传输层对上层应用层提供处于网络连接中的两台计算机之间的数据传输。
    传输层有两个协议:TCP(传输控制协议)和 UDP(用户数据报协议)
  3. 网络层:
    数据包是网络传输的最小数据单位,网络层就是用来处理网络上流动的数据包。
    该层规定了以怎样的路径(传输协议)到达对方的计算机并传输数据包。
  4. 数据链路层:
    用来处理连接网络的硬件部分,如:控制操作系统、硬件的设备驱动、NIC(网络适配器即网卡)及光纤等物理可见部分。

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

  1. 负责传输的 IP 协议

IP 网际协议属于网络层。用于将各种数据包传送给对方。而要保证数据正确的传送,则需要满足一定的条件。其中最重要的两个条件就是 IP 地址 和 MAC 地址。

IP 地址指明了节点被分配的地址,MAC 地址是网卡所属的固定位置。IP 地址和 MAC地址可以进行配对。IP 地址可以变化,MAC 地址通常不会改变。

可以使用 ARP 协议凭借 MAC 地址进行通信。

  1. 确保可靠性的 TCP 协议

TCP 位于传输层,提供可靠的字节流服务。
字节流服务是指为了方便传输,将大块数据分割成以报文段为单位的数据包进行管理。可靠的传输服务是指能够把数据准确可靠的传输给对方。
TCP 协议为了更容易传输大数据而把数据分割,且能够确认数据最终是否传送给对方。

为了准确的传送数据,TCP 协议采用了三次握手策略:

握手过程中使用了 TCP 的标志:SYN 和 ACK

  1. 负责域名解析的 DNS 服务

DNS 服务是和 HTTP 协议一样位于应用层的协议,它提供域名到 IP 地址的解析服务。通过域名查找 IP 地址或者通过 IP 地址反查找域名。

计算机既可以被赋予 IP 地址,也可以被赋予主机名和域名。
用户通常使用主机名或域名(字母配合数字的表示形式方便记忆)来访问对方的计算机,而不是直接通过 IP 地址进行访问。
但是计算机更擅长处理 IP 地址(一长串数字)

  1. 各种协议与 HTTP 协议之间的关系

《图解 HTTP 》阅读 —— 第一章的更多相关文章

  1. Unity文档阅读 第一章 入门

    Before you learn about dependency injection and Unity, you need to understand why you should use the ...

  2. 【图解HTTP】第一章 了解web及网络基础

    [图解HTTP]了解Web及网络基础 Web页面是如何呈现的?根据Web浏览器地址栏中指定的URL,Web浏览器从Web服务器端获取文件资源(resource)等信息,从而显示出Web页面. 这种通过 ...

  3. 《图解HTTP》阅读笔记---第一章网络基础

    第一章.网络基础TCP/IP:----------传输控制协议Transmission Control Protocol / 网络协议Internet Protocol是一种用于Internet(因特 ...

  4. 《JavaScript高级程序设计(第3版)》阅读总结记录第一章之JavaScript简介

    前言: 为什么会想到把<JavaScript 高级程序设计(第 3 版)>总结记录呢,之前写过一篇博客,研究的轮播效果,后来又去看了<JavaScript 高级程序设计(第3版)&g ...

  5. Camel In Action 阅读笔记 第一部分概述 + 第一章概述 认识Camel

    第一部分: 最开始的一小步 Apache Camel 是一个开源集成框架,其目的是让系统集成变得更加简便,在本书的第一章中,我们会为您介绍它并向您展示它是如何在大型企业应用中做好集成工作.您也会了解到 ...

  6. 阅读《大道至简第一章》读后感(java伪代码)

    大道至简讲述的是软件工程实践者的思想,书的第一章引用了著名的----愚公移山这一历史故事,向我们讲述了编程的精义.汤问篇中所述的愚公移山这一事件,我们看到了原始需求的产生---“惩山北之塞,出入之迂” ...

  7. 阅读《大道至简第一章》读后感 (java 伪代码)

         通读大道至简第一章愚公移山,可以将其看做一个完整的工程,首先是创建工程的原因,需求:“惩山北之塞,出入之迂”,而后是团队之间的商议:“聚室而谋曰”,然后确定工程的目标:“毕力平险,指通豫南, ...

  8. HTTP权威指南阅读记录 - 第一章

    最近终于开始看<HTTP权威指南>了,第一章主要是简介一些基本的概念.下面列出一些常用,但还不是很了解的简单概念. 一.常见概念: 1.媒体类型 因特网上有数千种不同的数据类型,HTTP仔 ...

  9. 《Interest Rate Risk Modeling》阅读笔记——第一章:利率风险建模概览

    目录 第一章:利率风险建模概览 思维导图 一些想法 第一章:利率风险建模概览 思维导图 一些想法 久期向量模型类似于研究组合收益的高阶矩. 久期向量模型用的是一般多项式表达高阶久期,试试正交多项式? ...

随机推荐

  1. 4-2 R语言函数 apply

    #apply函数,沿着数组的某一维度处理数据 #例如将函数用于矩阵的行或列 #与for/while循环的效率相似,但只用一句话可以完成 #apply(参数):apply(数组,维度,函数/函数名) & ...

  2. 第三周:Excel分析

    Excel常用于敏捷,快速,需要短时间相应的场景下是非常便捷的数据处理工具. 相对于语言类例如python和R等则用于常规的,规律的场景中应用,便于形成日常规则统计分析. 对于学习的路径:Excel函 ...

  3. 利用Python实现12306爬虫--查票

    在上一篇文章(http://www.cnblogs.com/fangtaoa/p/8321449.html)中,我们实现了12306爬虫的登录功能,接下来,我们就来实现查票的功能. 其实实现查票的功能 ...

  4. Java反射学习一

    Java 反射机制 基本概念 在Java运行时环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否调用它的任意一个方法? 答案是肯定的. 这种动态获取类的信息以及动态调用对象 ...

  5. C#在WinForm中重写ProgressBar控件(带%的显示)

    废话少说,直接上码: namespace csPublish { [ToolboxItem(true)] class textProgressBar : System.Windows.Forms.Pr ...

  6. C语言程序设计I—第九周教学

    第九周教学总结(28/10-03/11) 教学内容 第三章 分支结构 3.3 查询自动售货机中商品的价格 课前准备 在蓝墨云班课发布资源: PTA:2018秋第九周作业1 3.3 分享码:530571 ...

  7. 【vue】npm run mock & npm run dev 无法同时运行的解决

    [关于系统,没注明的都是windows系统,若以后用的是mac系统则会另外备注] 当项目数据是通过mock搭建而成(参照:[vue]本地开发mock数据支持)时,运行mock服务器和项目的命令 就参照 ...

  8. GoogleTest初探(1)

    此篇主要了解一下GoogleTest中的断言. 总的来说,GoogleTest中的断言分为两大类:EXPECT_*和ASSERT_*,这两者在测试成功或失败后均会给出测试报告,区别是前者在测试失败后会 ...

  9. MongoDB的聚合操作以及与Python的交互

    上一篇主要介绍了MongoDB的基本操作,包括创建.插入.保存.更新和查询等,链接为MongoDB基本操作. 在本文中主要介绍MongoDB的聚合以及与Python的交互. MongoDB聚合 什么是 ...

  10. 解决SDL/SDL.h: No such file or directory

    我在使用SDL2的时候遇到始终找不到头文件的问题,到处百度然后我尝试使用#include<SDL2/SDL.h>编译通过了,那么我很显然我之前设置的环境变量应该是没有生效的,后面在返回来研 ...