第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. performSelector 多参调用的实现方案

    1.nsinvocation封装: 2.msg_send封装: 第二种方案是系统的原生封装.

  2. hdu2102

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/u014303647/article/details/27705195 题目链接: pid=2102& ...

  3. 1877. [SDOI2009]晨跑【费用流】

    Description Elaxia最近迷恋上了空手道,他为自己设定了一套健身计划,比如俯卧撑.仰卧起坐等 等,不过到目前为止,他 坚持下来的只有晨跑. 现在给出一张学校附近的地图,这张地图中包含N个 ...

  4. Metapackage包

    Metapackage(功能包集)是把一些相近的功能模块. 软件包放到一起. ROS里常见的Metapacakge有: 2.Metapackage写法 CMakeLists.txt 写法如下: cma ...

  5. C++:引用的简单理解

    前言:引用是C++一个很重要的特性,最近看了很多有关引用的资料和博客,故在此对引用的相关知识进行总结 一.什么是引用 引用,顾名思义是某一个变量或对象的别名,对引用的操作与对其所绑定的变量或对象的操作 ...

  6. utf-8 转码--网址转码

    NSString *name = @"联通测试"; NSString *utfName = [name stringByAddingPercentEncodingWithAllow ...

  7. HDU 2191(多重背包转换为01背包来做)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 Time Limit: 1000/1000 ...

  8. C++重载运算符练习--对people类重载“= =”运算符和“=”运算符

    题目描述 对people类重载“= =”运算符和“=”运算符,“==”运算符判断两个people类对象的id属性是否相等:“=”运算符实现people类对象的赋值操作. 代码如下 #include&l ...

  9. chrome浏览器使用jqprint插件打印时偶尔空白页问题

    最近测试老是提bug说是有50%的概率打印出空白页,之前我也一直发现偶尔会出现这个问题,只是一直没有发现原因. 今天终于下定决心找到问题所在.开始吧! 查看源码一行行debug,发现问题只可能出现在这 ...

  10. python 3.x 实现简单用户登录

    import os import sys import getpass login_username = 'admin' login_password = ' u = 0 while u < 3 ...