第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. 使用C#操作Oracle Spatial的SDO_GEOMETRY对像(读取和写入)

    首先,这个需要使用ODAC,也就是Oracle.DataAccess.dll,新出的托管Oracle.ManagedDataAccess.dll不支持Object Type,无法使用 ODAC下载地址 ...

  2. Avito Code Challenge 2018

    第一次打CF,很菜,A了三道水题,第四题好像是是数位DP,直接放弃了.rateing从初始的1500变成了1499,还是绿名,这就很尴尬.之后觉得后面的题目也没有想象的那么难(看通过人数)过两天吧剩下 ...

  3. ROS——rqt

    $ rosrun rqt_plot rqt_plot   # 画出发布在topic上的数据变化图 $ rosrun rqt_graph rqt_graph #画出node关系图 $ rosrun rq ...

  4. 权限管理系统---django版本

    权限管理:在简单的系统中,以往都是将每个权限赋予给用户,每个用户访问某个功能,通过查询db来判断用户是否有权限.但是如下情景不能够解决: 1.随着系统的复杂,权限较为复杂的时候,权限条目也多,系统角色 ...

  5. CanOpen协议【CanFestival】移植方法 支持VC、QT、STM32

    前段时间学习了CanOpen协议,到网上下载的CanFestival3-10源码,移植到VC.QT.STM32等平台,由于网上的资源较少,走了不少弯路,移植好使用过程中才逐渐暴露出各种问题,比如OD字 ...

  6. bat取时间间隔

    @echo off echo 现在时间是%time:~,%点%time:~,%分%time:~,%秒 ,%%time:~,%%time:~,% pause echo 现在时间是%time:~,%点%t ...

  7. elasticserach 索引删除 源码分析

    索引的构成 在看IndicesService服务中移除索引的前提,先了解一个Index类的构成,也就是索引的一些基本信息,代码贴图如下:   主要的信息就两个:一个是name,表示索引名称,一个是uu ...

  8. RHEL 7.6 安装 Oracle 18c RAC

    RHEL 7.6 安装 Oracle 18c RAC 第一部分 安装规划 虚拟环境 VirtualBox 6.0 OS 版本 Red Hat Enterprise Linux Server relea ...

  9. go语言的结构体指针

    Go 语言结构体 Go 语言中数组可以存储同一类型的数据,但在结构体中我们可以为不同项定义不同的数据类型.   结构体是由一系列具有相同类型或不同类型的数据构成的数据集合.   结构体表示一项记录,比 ...

  10. 关于SignalR连接数量问题的记录

    在使用SignalR的项目测试时遇到了一个问题,开发环境用的是Win10的操作系统,在VS2017调试环境中运行项目,连接多个SignalR客户端是没有问题的,例如,三个用户在一个聊天室同时聊天.但是 ...