第一章、网络基础
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. Java-API:java.util.ArrayList

    ylbtech-Java-API:java.util.ArrayList 1.返回顶部   2.返回顶部   3.返回顶部   4.返回顶部   5.返回顶部 0. https://docs.orac ...

  2. 运动事件Motion Events

    备注:运动事件,也是加速度时间,一般像摇晃手机就属于运动事件           监听运动事件对于UI控件有个前提就是监听对象必须是第一响应者(对于UIViewController视图控制器和UIAP ...

  3. Git实用技巧

    1.关于版本控制系统 (1)本地版本控制系统 (2)集中化的版本控制系统 (3)分布式版本控制系统 2.Git的三种状态 对于任何一个文件,在 Git 内都只有三种状态: 已提交(committed) ...

  4. js对象排序&&倒序

    按照对象的值大小排序对象 function sortObj(obj) { var arr = []; for (var i in obj) { arr.push([obj[i],i]); }; arr ...

  5. Codeforces #345div1 C Table Compression (650C) 并查集

    题意:给你一个n*m的矩阵,需要在不改变每一行和每一列的大小关系的情况下压缩一个矩阵,压缩后的矩阵所有数的总和尽量的小. 思路:我们有这样的初步设想:对于在一行或一列的数x,y,若x<y,则建立 ...

  6. 27-1/x+1/y=1/n

    链接:https://www.nowcoder.com/acm/contest/90/F来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K ...

  7. Zbar 大图像分析

    博客转载自:https://blog.csdn.net/sunflower_boy/article/details/50429252 为了减少处理时间,可以设定更大的扫描间距,减少不必要的解码类型,去 ...

  8. C语言实现文件实时更新

    一.简介 在linux或者unix操作系统中在系统引导的时候会开启很多服务,这些服务就叫做守护进程. 守护进程脱离了终端并且在后台运行:守护进程脱离于终端是为了避免进程在执行过程中的信息在任何终端上显 ...

  9. 构建一个在线ASCII视频流服务

    构建一个在线ASCII视频流服务 2018-03-26  正常的文章 1685 什么是ASCII视频流服务? 其实这个名字是咱胡乱起的,具体叫啥我也不清楚,但效果如下: 大家可以在自己的命令行里试下, ...

  10. Entity Framework Code-First(22):Code-based Migration

    Code-based Migration: Code-based migration is useful when you want more control on the migration, i. ...