当前位置: 首页 > news >正文

HTTP——学习笔记(1)

名词解释:

协议:

HTTP:HyperText Transfer Protocol,超文本传输协议,属于应用层的协议

FTP:File Transfer Protocol,文件传输协议,相比于HTTP协议更加复杂,控制文件双向传输,比如:上传,下载都用到了这个协议

IP协议:Internet Protocol,网际协议,位于网络层。作用是把各种数据包传送给对方,要保证传送到对方那里需要满足两个重要条件,IP地址和Mac地址(Media Access Control Address)

ARP:Address Resolution Protocol,一种用以解析地址的协议,根据通信方的IP地址可以反查出对应的MAC地址

TCP:Transmission Control Protocol,传输控制协议,将应用层发向传输层的数据流,TCP将数据流分割成适当长度的报文段

UDP:User Data Protocol,用户数据报协议,不可靠的数据报协议,为网络层以上和应用层以下提供接口,它一旦把应用程序发送给网络层的数据发送出去就不保存数据备份,所以说它不可靠。

 

URI:Uniform Resource Identifier,统一资源标识符

URL:Uniform Resource Locator,统一资源定位符,就是使用浏览器访问web页面时需要输入的网页地址

URI和URL的区别:URI是个纯粹的句法结构,用于指定标识Web资源的字符串的各个不同部分。URL是URI的一个特例,它包含了定位Web资源的足够信息

RFC:Request for Comments,征求修正意见书,用来制定HTTP协议技术标准的文档,可以看做是互联网的设计文档,如果不按照RFC标准执行则可能导致无法通信

路由器:router,是连接因特网中各局域网、广域网的设备,它会根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送信号。 路由器是互联网络的枢纽

路由选择:IP协议发送数据时会经过路由选择,具体解释见下

IP地址:节点被分配到的地址,与域名相对应

Mac地址:网卡所属的固定地址,通常一台PC机对应一个Mac地址,且不再改变

DNS:Domain Name System,域名系统,因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。比如:www.baidu.com 对应IP为 183.232.231.173,在地址栏中输入这两个内容都可以访问到百度页面,域名是www.baidu.com,方便用户记忆

TCP/IP协议族:

不同的硬件、操作系统之间的通信,所有的这一切都需要一种规则,从电缆的规格到IP地址的选定方法、寻找异地用户的方法、双方建立通信的顺序,以及web页面显示需要处理的步骤,等等。这样把与互联网相关联的协议集合起来总称为TCP/IP是在IP协议的通信过程中,使用到的协议族的统称。

TCP/IP的分层管理

  应用层:决定向用户提供应用服务时通信的活动,TCP/IP协议族内预存了各类通用的应用服务。比如FTP和DNS服务就是其中两类。

  传输层:传输层对上层应用层,提供处于网络连接中的两台计算机之间的数据传输,在传输层中还有两个性质不同的协议,TCP和UDP

  网络层(网络互连层):用来处理在网络上流动的数据包。数据包是网络传输的最小数据单位。该层规定了通过怎样的路径(所谓的传输路线)到达对方计算机,并把数据包传送给对方。与对方计算机之间通过多台计算机或网络设备进行传输时,网络层所起的作用就是在众多的选项内选择一条传输路线,IP协议

  链路层(数据链路层、网络接口层):用来处理连接网络的硬件部分。包括控制操作系统,硬件的设备驱动,NIC(Network Interface Card,网络适配器,即网卡),及光纤等物理可见部分(还包括连接器等一切传输媒介)。在硬件上的范畴均在链路层的作用范围之内。

 

发送信息时:

  (发送端)应用层  ——>   传输层  ——>   网络层  ——>   链路层(添加通信目的地地址(Mac地址))

                               |  

                               |

  (接收端)应用层  <——   传输层  <——   网络层  <——   链路层  

发送端在层与层之间传输数据时,每经过一层时会被打上一个该层所属的首部信息,在接收端的层与层传输数据时,每经过一层时会把对应的首部去掉。(封装)

注:有的书上在应用层和传输层中间还有一个  会话层

 

IP协议所属的网络层在传送信息时需要经过路由选择,不论哪一台计算机,哪一台网路设备都无法全面掌握互联网中的细节,发送端使用ARP协议解析后发现未解析成功则会先发给某一MAC地址的路由器,再由该路由器解析后中转给下一个路由器,直到最后发往正确的地址

TCP协议所属传输层,提供可靠的字节流服务,即将大块数据分割成报文段为单位的数据包进行管理,之所以说TCP“可靠”,是因为TCP协议中采用的“三次握手”策略

发送端发送一个带有SYN标识的数据包给对方,接收端收到后回传一个带有SYN/ACK标识的数据包告诉发送端自己已经收到了,发送端再发送一个带有ACK标识的数据包,代表“握手”结束

发送端发送数据到接收端的具体过程:

 

 

URI格式:

 不区分大小写,也可以使用data:或javascript:这类指定数据或脚本程序的方案名

服务器地址可以是DNS可解析的名称,或者IPv4地址名(192.168.1.1),或者IPv6地址名([0:0:0:0:0:0:0:1])

服务器端口号,可选项,省略则使用默认端口号

带层次的文件路径是指在服务器上该文件的路径

查询字符串,为可选项

片段标识符,在该页面的某一位置,可选项

 

转载于:https://www.cnblogs.com/ljuyi/p/6036955.html

相关文章:

  • ORACLE 体系结构
  • 数字证书调研整理-基本概念
  • delphi 中sql的语法规范
  • sql数据库链接
  • 脱水缩合
  • AIDL小结
  • jQuery简单的Ajax调用示例
  • 作业1:灯泡问题
  • Tomcat之web项目部署
  • 学习什么是线程安全与线程不安全(转)
  • 第七次实验作业
  • 使用IntelliJ IDEA 14和Maven创建java web项目
  • C# IEqualityComparer 去重
  • 安装mysql odbc遇到error 1918.errror installing ODBC driver mysql ODBC 5.3 ANSI Drive
  • WPF SpreadSheetGear电子表单
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • Android优雅地处理按钮重复点击
  • interface和setter,getter
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • Java编程基础24——递归练习
  • JAVA之继承和多态
  • linux安装openssl、swoole等扩展的具体步骤
  • Python利用正则抓取网页内容保存到本地
  • React16时代,该用什么姿势写 React ?
  • 观察者模式实现非直接耦合
  • 如何编写一个可升级的智能合约
  • 收藏好这篇,别再只说“数据劫持”了
  • 数据结构java版之冒泡排序及优化
  • 通过几道题目学习二叉搜索树
  • 在Mac OS X上安装 Ruby运行环境
  • Prometheus VS InfluxDB
  • 分布式关系型数据库服务 DRDS 支持显示的 Prepare 及逻辑库锁功能等多项能力 ...
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • ​水经微图Web1.5.0版即将上线
  • #gStore-weekly | gStore最新版本1.0之三角形计数函数的使用
  • #经典论文 异质山坡的物理模型 2 有效导水率
  • $.ajax,axios,fetch三种ajax请求的区别
  • (C语言)输入自定义个数的整数,打印出最大值和最小值
  • (Spark3.2.0)Spark SQL 初探: 使用大数据分析2000万KF数据
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (接口封装)
  • (十五)Flask覆写wsgi_app函数实现自定义中间件
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • (转)Oracle 9i 数据库设计指引全集(1)
  • (转)平衡树
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • .NET Micro Framework 4.2 beta 源码探析
  • .net开发时的诡异问题,button的onclick事件无效
  • .NET微信公众号开发-2.0创建自定义菜单
  • .NET学习全景图
  • .NET与java的MVC模式(2):struts2核心工作流程与原理
  • /etc/X11/xorg.conf 文件被误改后进不了图形化界面
  • ?.的用法
  • @RequestParam,@RequestBody和@PathVariable 区别
  • @SentinelResource详解