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])
服务器端口号,可选项,省略则使用默认端口号
带层次的文件路径是指在服务器上该文件的路径
查询字符串,为可选项
片段标识符,在该页面的某一位置,可选项
HTTP——学习笔记(1)的更多相关文章
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2. 整体架构图 ...
- PHP-会员登录与注册例子解析-学习笔记
1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...
- 2014年暑假c#学习笔记目录
2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...
- JAVA GUI编程学习笔记目录
2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...
- seaJs学习笔记2 – seaJs组建库的使用
原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...
- CSS学习笔记
CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...
- HTML学习笔记
HTML学习笔记 2016年12月15日整理 Chapter1 URL(scheme://host.domain:port/path/filename) scheme: 定义因特网服务的类型,常见的为 ...
- DirectX Graphics Infrastructure(DXGI):最佳范例 学习笔记
今天要学习的这篇文章写的算是比较早的了,大概在DX11时代就写好了,当时龙书11版看得很潦草,并没有注意这篇文章,现在看12,觉得是跳不过去的一篇文章,地址如下: https://msdn.micro ...
- ucos实时操作系统学习笔记——任务间通信(消息)
ucos另一种任务间通信的机制是消息(mbox),个人感觉是它是queue中只有一个信息的特殊情况,从代码中可以很清楚的看到,因为之前有关于queue的学习笔记,所以一并讲一下mbox.为什么有了qu ...
随机推荐
- 使用json_decode无法解析json
在接入合作方接口时,遇到一个json无法解析出来代码如下: <?php $res='{"resultcode":007,"resMsg":"!& ...
- HDU 1023 Train Problem II( 大数卡特兰 )
链接:传送门 题意:裸卡特兰数,但是必须用大数做 balabala:上交高精度模板题,增加一下熟悉度 /************************************************ ...
- NOIP2016 DAY1 T3 换教室
换教室 Description 对于刚上大学的牛牛来说,他面临的第一个问题是如何根据实际情况申请合适的课程.在可以选择的课程中,有2n节 课程安排在n个时间段上.在第i(1≤i≤n)个时间段上,两节内 ...
- jsonp实现原理
jquery 封装在 ajax方法 里面的jsonp jsonp跨域的原理 1:使用script 标签发送请求,这个标签支持跨域访问 2:在script 标签里面给服务器端传递 ...
- DelayQueue延时队列示例
介绍: DelayQueue是一个无界阻塞队列,只有在延迟期满时才能从中提取元素.该队列的头部是延迟期满后保存时间最长的Delayed 元素. 使用场景: 缓存系统的设计,缓存中的对象,超过了空闲时间 ...
- open函数详解
转载:https://www.cnblogs.com/frank-yxs/p/5925574.html open函数用来在进程中打开文件,如果成功则返回一个文件描述符fd. ============= ...
- jquery-fakeloader插件的使用
jquery-fakeloader插件示例代码 link rel="stylesheet" href="../../Content/fakeLoader.css" ...
- C++开发人脸性别识别教程(7)——搭建MFC框架之界面绘制
在之前的博客中我们已经将项目中用到的算法表述完成,包含人脸检測算法以及四种性别识别算法,在这篇博客中我们将着手搭建主要的MFC框架. 一.框架概况 在这篇博文中我们将搭建最主要的MFC框架.绘制MFC ...
- c# 获取一年中的周/根据一年中的第几周获取该周的开始日期与结束日期
/// <summary> /// 获取一年中的周 /// </summary> /// <param name="dt">日期</par ...
- UVA - 1476 Error Curves 三分
Error Curves Josephina is a clever girl and addicted to Machi ...