《图解HTTP》阅读笔记---第一章网络基础
第一章、网络基础
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》阅读笔记---第一章网络基础的更多相关文章
- [Python笔记][第一章Python基础]
2016/1/27学习内容 第一章 Python基础 Python内置函数 见Python内置函数.md del命令 显式删除操作,列表中也可以使用. 基本输入输出 input() 读入进来永远是字符 ...
- 《Interest Rate Risk Modeling》阅读笔记——第一章:利率风险建模概览
目录 第一章:利率风险建模概览 思维导图 一些想法 第一章:利率风险建模概览 思维导图 一些想法 久期向量模型类似于研究组合收益的高阶矩. 久期向量模型用的是一般多项式表达高阶久期,试试正交多项式? ...
- Python笔记·第一章—— Python基础(一)
一.Python的简介 1.Python的由来与版本 1.1 python的由来 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文 ...
- Camel In Action 阅读笔记 第一章 认识Camel 1.1 Camel 介绍
1.1 Camel 介绍 Camel 是一个为了您的项目集成变得高效有趣的集成框架,Camel 项目在2007年初开始的,相对来说它还比较年轻,但它已然是一个非常成熟的开源项目,它所使用的是Apach ...
- 《UNIX环境高级编程》(APUE) 笔记第一章 - UNIX基础知识
1 - UNIX基础知识 Github 地址 1. 操作系统 可将操作系统定义为一种软件,它控制计算机硬件资源,提供程序运行环境.通常将这种软件称为 内核 (kernel) .( Linux 是 GN ...
- Redis实战阅读笔记——第一章
Redis 实战 中文版 的20-21页看的人郁闷死了,最后看英文版才明白意思,哎,我理解能力差成这样了 其中,图 1-12 有错误,草,这个是英文版的错--应该是group:programming
- Web程序设计笔记-第一章:基础知识
1,Web服务器 (1)Web服务器操作 Web浏览器通过向服务器发送URL来与Web服务器进行通信.URL可以指定两种不同资源中的一种:某个文件或者某个程序. Web客户机和Web服务器之间所有的通 ...
- python3黑帽子渗透笔记第二章--网络基础
1 先来看看不可少的socket模块 (1)tcp_client.py 在渗透测试过程中,创建一个tcp客户端连接服务,发送垃圾数据,进行模糊测试等. (2)udp_client.py 2 nc工具的 ...
- Android开发艺术探索笔记——第一章:Activity的生命周期和启动模式
Android开发艺术探索笔记--第一章:Activity的生命周期和启动模式 怀着无比崇敬的心情翻开了这本书,路漫漫其修远兮,程序人生,为自己加油! 一.序 作为这本书的第一章,主席还是把Activ ...
随机推荐
- 发任务找不到test-unit报错
发任务的时候因找不到gem包test-unit报错, 出错行: require 'test/unit' require 'test/unit/testresult' 解决办法如下 1.通过命令查看ge ...
- 使用cython把python编译so
1.需求 为了保证线上代码安全和效率,使用python编写代码,pyc可直接反编译,于是把重要代码编译so文件 2.工作 2.1 安装相关库: pip install cython yum insta ...
- C Primer Plus学习笔记(八)- 函数
函数简介 函数(function)是完成特定任务的独立程序代码单元 使用函数可以省去编写重复代码的苦差,函数能让程序更加模块化,提高程序代码的可读性,更方便后期修改.完善 #include <s ...
- 问题:C# TrimEnd 去掉最后的逗号;结果: C#中 TrimEnd()用法
C#中 TrimEnd()用法 ①去除最后的逗号 string str=ab,cd,ef,; str=str.TrimEnd(new char[] { ',' }); 返回结果则是:ab,cd,ef ...
- 问题:c# json解析;结果:c# 解析JSON的几种办法
c# 解析JSON的几种办法 欲成为海洋大师,必知晓海中每一滴水的真名. 刚开始只是想找一个转换JSON数组的方法,结果在MSDN翻到一大把. 搜索过程中免不了碰到一大堆名词:WCF => Da ...
- LNMP 1.1 php编译安装
LNMP 是 Linux nginx mysql php nginx和apache一样也是一种web服务.在静态web服务中nginx更胜一筹.在动态中不比apache有优势. LNMP的mysql ...
- 第一天:tomcat相关知识和浏览器的访问机制
1.tomcat的目录结构 1)bin目录:启动和关闭tomcat以及其他的脚本命令 2)conf目录:存放各种配置文件 a.server.xml配置文件的配置: *<host/>标签: ...
- C++ 私有构造函数的作用
很多情况下要求当前的程序中只有一个object.例如一个程序只有一个和数据库的连接,只有一个鼠标的object.通常我们都将构造函数的声明置于public区段,假如我们将 其放入private区段中会 ...
- jquery获取元素在文档中的位置信息以及滚动条位置(转)
jquery获取元素在文档中的位置信息以及滚动条位置 http://blog.csdn.net/qq_34095777/article/details/78750886 原文链接 原创 201 ...
- git安装、git和GitHub的配合使用、git和码云的配合使用
1 git安装请参见廖雪松的git教程前面几节 点击前往 2 git速成之基本命令 点击前往 3 git 和 GitHub 配合使用之基础 点击前往 4 git 和 GitHub 配合使用之进阶 点击 ...