第一章、网络基础
TCP/IP:
----------传输控制协议Transmission Control Protocol / 网络协议Internet Protocol
是一种用于Internet(因特网)的通信协议。在其内部包含了以下协议标准:
---TCP---传输控制协议:应用程序之间通信(可靠的)
---UDP---用户数据包协议:应用程序之间的简单通信(不可靠的)
---IP---网际协议:计算机之间的通信
---ICMP---因特网消息控制协议:针对错误和动态
---DHCP---动态主句配置协议:针对动态寻址

TCP/IP分层:
应用层:(FTP文件传输协议;DNS域名系统;HTTP协议)决定了向用户提供应用服务时通信的活动---数据
传输层:(TCP传输控制协议;UDP用户数据报协议)提供处于网络连接中的两台pc的数据传输方式---报文
网络层:(IP网际协议)处理在网络上流通的数据包,为其选择传输路线---MAC地址
数据链路层/网络接口层:处理连接网络的硬件部分(os,硬件设备驱动,网卡/网络适配器/NIC,光纤)
=====================传输数据时,发送端一层层封装如下=========================
原始HTTP报文(分割后的HTTP数据)+++TCP报文(封装TCP首部)+++IP数据包(封装IP首部)+++
+++网络架构(封装以太网首部)
===================================================================

IP(IP协议,不是IP地址):传输数据包给目的地址
IP协议包括IP地址<指明了节点被分配到的地址>及MAC地址<指网卡所属的固定地址>
要点:ARP协议(地址解析协议);路由选择

TCP---传输控制协议
提供可靠的字节流服务(将大块数据分割成报文段为单位的数据包进行管理);能够确认数据最终是否发送到对方手里。
要点:通信请求,确切地址,三次握手策略,全双工的通信,占用双方通信线路,直到被一方或双方关闭
=========================三次握手=========================
1、发送端发送标有SYN的数据包
2、接收端接收后会返回标有SYN/ACK的数据包
3、发送端确认后将发送带有ACK的数据包
=======================================================

DNS---域名解析服务
提供通过域名查找IP地址,或逆向从IP地址反查域名的服务

URI---统一资源标识符&&URL---统一资源定位符
URL就是由某个协议方案表示的资源的定位标识符,协议方案就是指资源所用的协议类型名称
URL用字符串标识某一互联网资源,URL表示资源的地点,URL是URI的子集
===============================绝对URI=================================
协议方案名+登录信息/认证(o)+服务器地址+服务器端口号(o)+带层次的文件路径+查询字符串(o)+片段标识符(o)
(o)==(option)==(可选)
例如 http://+user:pass+@www.example.jp/192.161.1/[0:0:0:0:0:0:0:1]+:80+/dir/index.html+?uid=1+#ch1

《图解HTTP》阅读笔记---第一章网络基础的更多相关文章

  1. [Python笔记][第一章Python基础]

    2016/1/27学习内容 第一章 Python基础 Python内置函数 见Python内置函数.md del命令 显式删除操作,列表中也可以使用. 基本输入输出 input() 读入进来永远是字符 ...

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

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

  3. Python笔记·第一章—— Python基础(一)

    一.Python的简介 1.Python的由来与版本 1.1 python的由来 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文 ...

  4. Camel In Action 阅读笔记 第一章 认识Camel 1.1 Camel 介绍

    1.1 Camel 介绍 Camel 是一个为了您的项目集成变得高效有趣的集成框架,Camel 项目在2007年初开始的,相对来说它还比较年轻,但它已然是一个非常成熟的开源项目,它所使用的是Apach ...

  5. 《UNIX环境高级编程》(APUE) 笔记第一章 - UNIX基础知识

    1 - UNIX基础知识 Github 地址 1. 操作系统 可将操作系统定义为一种软件,它控制计算机硬件资源,提供程序运行环境.通常将这种软件称为 内核 (kernel) .( Linux 是 GN ...

  6. Redis实战阅读笔记——第一章

    Redis 实战 中文版 的20-21页看的人郁闷死了,最后看英文版才明白意思,哎,我理解能力差成这样了 其中,图 1-12 有错误,草,这个是英文版的错--应该是group:programming

  7. Web程序设计笔记-第一章:基础知识

    1,Web服务器 (1)Web服务器操作 Web浏览器通过向服务器发送URL来与Web服务器进行通信.URL可以指定两种不同资源中的一种:某个文件或者某个程序. Web客户机和Web服务器之间所有的通 ...

  8. python3黑帽子渗透笔记第二章--网络基础

    1 先来看看不可少的socket模块 (1)tcp_client.py 在渗透测试过程中,创建一个tcp客户端连接服务,发送垃圾数据,进行模糊测试等. (2)udp_client.py 2 nc工具的 ...

  9. Android开发艺术探索笔记——第一章:Activity的生命周期和启动模式

    Android开发艺术探索笔记--第一章:Activity的生命周期和启动模式 怀着无比崇敬的心情翻开了这本书,路漫漫其修远兮,程序人生,为自己加油! 一.序 作为这本书的第一章,主席还是把Activ ...

随机推荐

  1. 发任务找不到test-unit报错

    发任务的时候因找不到gem包test-unit报错, 出错行: require 'test/unit' require 'test/unit/testresult' 解决办法如下 1.通过命令查看ge ...

  2. 使用cython把python编译so

    1.需求 为了保证线上代码安全和效率,使用python编写代码,pyc可直接反编译,于是把重要代码编译so文件 2.工作 2.1 安装相关库: pip install cython yum insta ...

  3. C Primer Plus学习笔记(八)- 函数

    函数简介 函数(function)是完成特定任务的独立程序代码单元 使用函数可以省去编写重复代码的苦差,函数能让程序更加模块化,提高程序代码的可读性,更方便后期修改.完善 #include <s ...

  4. 问题:C# TrimEnd 去掉最后的逗号;结果: C#中 TrimEnd()用法

    C#中 TrimEnd()用法 ①去除最后的逗号 string str=ab,cd,ef,; str=str.TrimEnd(new char[] { ',' }); 返回结果则是:ab,cd,ef ...

  5. 问题:c# json解析;结果:c# 解析JSON的几种办法

    c# 解析JSON的几种办法 欲成为海洋大师,必知晓海中每一滴水的真名. 刚开始只是想找一个转换JSON数组的方法,结果在MSDN翻到一大把. 搜索过程中免不了碰到一大堆名词:WCF => Da ...

  6. LNMP 1.1 php编译安装

    LNMP 是 Linux nginx mysql php  nginx和apache一样也是一种web服务.在静态web服务中nginx更胜一筹.在动态中不比apache有优势. LNMP的mysql ...

  7. 第一天:tomcat相关知识和浏览器的访问机制

    1.tomcat的目录结构 1)bin目录:启动和关闭tomcat以及其他的脚本命令  2)conf目录:存放各种配置文件 a.server.xml配置文件的配置: *<host/>标签: ...

  8. C++ 私有构造函数的作用

    很多情况下要求当前的程序中只有一个object.例如一个程序只有一个和数据库的连接,只有一个鼠标的object.通常我们都将构造函数的声明置于public区段,假如我们将 其放入private区段中会 ...

  9. jquery获取元素在文档中的位置信息以及滚动条位置(转)

    jquery获取元素在文档中的位置信息以及滚动条位置 http://blog.csdn.net/qq_34095777/article/details/78750886     原文链接 原创 201 ...

  10. git安装、git和GitHub的配合使用、git和码云的配合使用

    1 git安装请参见廖雪松的git教程前面几节 点击前往 2 git速成之基本命令 点击前往 3 git 和 GitHub 配合使用之基础 点击前往 4 git 和 GitHub 配合使用之进阶 点击 ...