图解http学习笔记1.网络基础
来源:互联网 发布:ti4总决赛数据 编辑:程序博客网 时间:2024/06/05 02:09
网络基础
- 网络基础
- http介绍
- TCPIP基础
- TCPIP协议族
- TCPIP的分层管理
- TCPIP通信传输流
- IPTCPDNS
- 负责传输的IP协议
- 使用ARP协议凭借MAC地址进行通信
- 没有人可以全面掌握互联网中的传输状况
- 确保可靠性的TCP协议
- 确保数据能到达目标
- 负责域名解析的DNS服务
- 负责传输的IP协议
- 各种协议与HTTP协议的关系
- URI和URL
- URI
- URI格式
- 并不是所有方法都符合RFC
http介绍
在web browser(网页浏览器)的地址栏中输入URL后,web browser会去从web服务器获取文件资源等信息,然后显示web页面。像这种通过获取服务器资源的web browser都可以称为client(客户端)。
HTTP(HyperText Transfer Protocol,超文本传输协议)。web是建立在HTTP协议上通信的。
WWW(World Wide Web,万维网),三项构建技术:把SGML(Standard Generalized Markup Language,标准通用标记语言)作为页面的文本标记语言的HTML(HyperText Markup Language,超文本标记语言);作为文档传递协议的HTTP;作为文档所在地址的URL(Uniform Resource Locator,统一资源定位符)。
TCP/IP基础
通常使用的网络是在TCP/IP协议族的基础上运作的,HTTP是其内部一个子集。
TCP/IP协议族
计算机与网络设备相互通信需基于相同的方法。不同的硬件,操作系统之间的通信,所有的一切都需要一种规则。这种规则被称为protocol(协议)。
把与互联网相关联的协议集合起来的总称就是TCP/IP。
TCP/IP的分层管理
TCP/IP协议按层次分为4层:应用层,传输层,网络层,数据链路层。
TCP/IP层次化后,每当修改后只需要改变相应的层即可。
各层次作用:
- 应用层
决定了向用户提供应用服务时通信的活动
TCP/IP协议族内预存了各类通用的应用服务。如FTP(File Transfer Protocol,文件传输协议)和DNS(Domain Name System 域名系统)
HTTP协议也属于该层
- 传输层
传输层对上层应用层,提供处于网络连接中的两台计算机之间的数据传输。
在传输层有两个性质不同的协议:TCP(Transmission Control Protocol, 传输控制协议)和UDP(User Data protocol,用户数据报协议)
- 网络层(网络互连层)
网络层处理在网络上流动的数据包。数据包是网络传输的最小数据单位。该层规定了传输路径。
与对方计算机之间通过多台计算机或网络设备进行传输时,网络层所起作用:在众多的选项内选择一条传输路线。
- 链路层(数据链路层/网络接口层)
用来处理连接网络的硬件部分。包括控制操作系统、硬件的设备驱动、NIC(Network Interface Card,网络适配器,即网卡)、光纤等物理可见部分(还包括连接器等一切传输媒介)。硬件上的范畴都在链路层的作用范围内
TCP/IP通信传输流
利用TCP/IP协议族进行网络通信时,会通过分层顺序与对方进行通信。发送端从应用层往下走,接收端则往应用层上走。
HTTP为例:作为发送端的客户端在应用层(HTTP协议)发出一个想看某个Web页面的HTTP请求,在传输层(TCP协议)把应用层处收到的数据(HTTP请求报文)进行分割,并在各个报文上打上标记序号及端口号后转发给网络层。在网络层(IP协议)增加作为通信目的地的MAC地址后转发给链路层。接受端的服务器在链路层接收到数据,按序往上层发送直到应用层。当传输到应用层,才能算接收到由客户端发送过来的HTTP请求。
发送端在层与层之间传输数据时,每经过一层会被打上一个该层所属的首部信息。反之接受时,消去。
这种把数据信息包装起来的做法称为封装(encapsulate)。
IP、TCP、DNS
负责传输的IP协议
按层次分,IP(Internet Protocol)网际协议位于网络层。几乎所有使用网络的系统都会用到IP协议。TCP/IP协议族中的IP指的就是网际协议。
IP协议的作用是把各种数据包传送给对方。为保证确实传送到对方那里,则需要满足各类条件。最重要的条件是IP地址和MAC地址(Media Access Control Address).
IP地址指明了节点被分配到的地址,MAC地址是指网卡所属的固定地址。IP地址可以和MAC地址配对,IP地址可以变化,MAC地址基本上不会更改。
使用ARP协议凭借MAC地址进行通信
IP间的通信依赖MAC地址。不在同一局域网中(LAN),通信通常是通过多台计算机和网络设备中专才能连接到对方。进行中转时,会利用下一站中转设备的MAC的地址来搜索下一个中转目标。这里会采用ARP协议(Address Resolution Protocol).ARP是一种用以解析地址的协议,根据通信方的IP地址就可以反查出对应的MAC地址。
没有人可以全面掌握互联网中的传输状况
在到达通信目标前的中转过程中,哪些计算机和路由器等网络设备只能获悉很初略的传输路线。
这种机制成为路由选择(routing)。
确保可靠性的TCP协议
按层次分,TCP位于传输层,提供可靠的字节流服务。
字节流服务(Byte Stream Service)是指,为传输方便,将大块数据分割成以报文段(segment)为单位的数据包进行管理。而可靠的传输服务是指,把数据准确可靠地传给对方。
确保数据能到达目标
为准确将数据传送到目标,TCP协议采用了三次握手策略(three-way handshaking).用TCP协议把数据包送出去后,TCP一定会向对方确认是否成功送达。握手过程中使用了TCP的标志(flag)——SYN(synchronize)和ACK(acknowledgement)
发送端首先发送一个带SYN标志的数据包给对方。接收到后回传一个带有SYN/ACK标志的数据包已示传达确认信息,发送端再回传一个带ACK标志的数据包,代表结束。
若在握手过程中某个截断中断,TCP写一个会再次以相同的数序发送相同的数据包。
除上述,TCP还有其他手段来保证通信的可靠性。
负责域名解析的DNS服务
DNS(Domain Name System)服务是和HTTP协议一样位于应用层的协议。它提供域名到IP地址之间的解析服务。
计算机既可以被赋予地址,也可以被赋予主机名和域名。
通常使用主机名或域名来访问对方的计算机,而不是直接使用IP地址访问。前者更容易记忆。
DNS协议提供通过域名查找IP地址,或逆向从IP地址反查域名的服务。
各种协议与HTTP协议的关系
URI和URL
URI(统一资源标识符),URL(Uniform Resource Locator,统一资源定位符)。URL正是使用web浏览器风访问Web页面时需要输入的网页地址。如http://www.baidu.com/
URI
URI(Uniform Resource Identifier)。RFC2396的定义
- Uniform
规定统一的格式可方便处理多种不同类型的资源,而不是根据上下文环境来识别资源指定访问方式。
加入新增的协议方式(
http:
或ftp:
)也更容易
- Resource
资源定义是“可标识的任何东西”。除了文档文件、图像或服务(如天气预报)等能够区别于其他类型的,全都可作为资源。另外,资源不仅可以是单一的,也可以是多数的集合体。
- Identifier
表示可标识的对象,也称为标识符。。
URI就是由某个协议方案表示的定位标识符。协议方案是指访问资源所使用的协议类型名称。
采用HTTP协议时,协议方案就是http,除此之外还有ftp,mailto,telnet,file等等。
URI用字符串标识某一互联网资源,URL表示资源的地址(互联网上所处的位置)。
URI格式
表示指定的URI,要使用涵盖全部必要信息的绝对URI、绝对URL以及相对URL。(相对URL指从浏览器中基本URI处指定的URL,形如/image/logo.gif)
绝对URI格式:
- 协议方案名
使用http:和https:等协议方案名获取资源是要指定协议类型。不区分大小写,最后付一个冒号(:)。
也可以使用data:或javascript:这类指定数据或脚本程序的方案名。
- 登录信息(认证)
指定用户名和密码作为从服务器端获取资源时必要的登录信息(身份认证),可选
- 服务器地址
使用绝对URI必须指定带访问的服务器。地址可以是DNS可解析的名称,也可以是IPv4地址名,或者是IPv6地址名(如[0:0:0:0:0:0:0:1]
)
- 服务器端口号
指定服务器连接的网络端口号。可选,省略则使用默认端口号
- 带层次的文件路径
指定服务器上的文件路径来定位特指的资源。与UNIX系统的文件目录结构相似。
- 查询字符串
针对已指定的文件路径内的资源,可以任意参数使用查询字符串传入。可选
- 片段标识符
使用片段标识符通常可标记已获取资源中的子资源(文档内的某个位置)。RFC中未给出明确使用方法。可选
并不是所有方法都符合RFC
RFC(Request for Comments,征求修正意见书),用来制定HTTP协议技术标准
不按照RFC标准执行,有可能无法通信。
但也存在某些应用程序应客户端或服务器不同,将自成一套的标准进行了扩展的情况。
- 图解http学习笔记1.网络基础
- 图解HTTP 第一章 了解Web基网络基础 学习笔记
- 《图解HTTP》学习笔记(一)-了解Web及网络基础
- 【图解HTTP笔记】第一章 了解Web及网络基础
- 图解HTTP笔记之第一章:了解web及网络基础
- 《图解HTTP》学习笔记
- 《图解HTTP》学习笔记
- 图解HTTP学习笔记
- 图解HTTP学习笔记
- HTTP学习笔记:Web与网络基础
- 图解HTTP---学习笔记1
- 图解HTTP学习笔记一
- 图解HTTP: 了解Web及网络基础
- 图解http(01)-网络基础
- 《图解网络硬件》学习笔记。
- 《图解HTTP》笔记——了解web及网络基础(第一章)
- 《图解HTTP》学习笔记之(一)
- 《图解HTTP》学习笔记之(二)
- 《深入浅出nodejs》异步I/O笔记(2)
- 分布式文件系统下的本地缓存
- CentOS 6.5 Install node.js
- 关于小程序生成页面二维码和参数的使用问题
- JMeter基础报告分析
- 图解http学习笔记1.网络基础
- (OK) 编译,安装 Android-x86_64-Nougat (LineageOS 14.1, Android-7.1.1) for VirtualBox
- excel中同一列如何同时乘以或除以一个数
- win10安装anaconda,nb_conda (jupyter notebook extension) 装不上的解决方法
- Mac下Java环境开发的安装
- linux 命令终端提示符显示-bash-4.1#
- 如何在基于SpringMVC的项目中实现邮箱验证
- 【状态压缩】poj2836Rectangular Covering
- dfs入门——红与黑