第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. JDBC使用

    在工作中碰到要向另一个数据库进行操作的需求,例如数据源为mysql的工程某个方法内需要向oracle数据库进行某些查询操作 接口类 package com.y.erp.pur.util; import ...

  2. python第五课——流程控制语句

    流程控制语句: 分类: 1).顺序结构 2).判断结构解析:如果...否则... 3).循环结构 1.判断结构: 格式分类:三种格式 格式一: ① if 条件表达式: 语句块 ② 执行流程: 计算机会 ...

  3. 【bzoj 3622】已经没有什么好害怕的了

    题目 看到这个数据范围就发现我们需要一个\(O(n^2)\)的做法了,那大概率是\(dp\)了 看到恰好\(k\)个我们就知道这基本是个容斥了 首先解方程发现我们需要使得\(a>b\)的恰好有\ ...

  4. TensorFlow函数(八)tf.control_dependencies()

    tf.control_dependencies(control_inputs) 此函数指定某些操作执行的依赖关系 返回一个控制依赖的上下文管理器,使用 with 关键字可以让在这个上下文环境中的操作都 ...

  5. 正则表达式详解<一>

    正则表达式是一种处理字符串的微型语言:有以下的基本术语: l  模式(pattern):正则表达式实际上是通过字符串表达的一个模式 l  匹配(match): 判断正则表达式和给出的序列[first ...

  6. 构建 CDN 分发网络架构

    cdn基本架构: CDN的基本目的:1.通过本地缓存实现网站的访问速度的提升 CDN的关键点:CNAME在域名解析:split智能分发,引流到最近缓存节点

  7. ubuntu 9.10 切换到root用户

    昨天装了ubuntu9.10,登陆后是普通用户,操作不方便,上网上查了资料,有很多方法,我发现最简单的方法 有些资料说,ubuntu每次重启root密码是随机的(当你没有设置密码时), 打开终端: $ ...

  8. 20155229 2016-2017-2 《Java程序设计》第九周学习总结

    20155229 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 JDBC(Java DataBaseConnectivity)即java数据库连接 ...

  9. 20155327实验一 Java开发环境的熟悉

    20155327实验一 Java开发环境的熟悉 实验内容 1.使用JDK编译.运行简单的java程序 2.使用IDEA编辑.编译.运行.调试java程序 实验步骤 1.使用JDK编译.运行简单的jav ...

  10. elastic-job+zookeeper实现分布式定时任务调度的使用(springboot版本)

    总体思路,要确认一个定时任务需要一个cron表达式+jobDetail: 现在要让实现定时任务的协调,则就让zookeeper,简单说就是需要3要素,zk对象+cron+jobDetail: 总的项目 ...