这个系列文章是阅读《图解HTTP》后写下的笔记

当我们在浏览器输入url,点击回车后,浏览器显示我们需要的web页面,那么,这个界面是如何产生的?

根据浏览器地址中输入的url,浏览器从相应的web服务器端获取文件资源等信息,从而显示web页面。

像这种发送请求获取服务器资源的浏览器都可以称为客户端(client)

web使用HTTP(HyperText Transfer Protocol),超文本传输协议作为管饭,完成从客户端到服务器端等一系列运作流程。可以说web是基于http协议的基础上建立的。

TCP/IP协议族

计算机与网络设备要相互通信,双方就必须基于相同的方法。比如,如何探测到通信目标,有哪一边先发起通信,使用哪种语言进行通信,怎样结束通信等规则都需要事先预定。这些规则称为协议。

协议中存在各式各样的内容。从电缆的规格到IP地址的选定方法、寻找异地用户的方法、双发建立通信的顺序,以及web页面显示需要处理的步骤,等等。

像这样把与互联网相关联的协议集合起来总称为TCP/IP

TCP/IP分层管理

TCP/IP重要的一点就是分层。TCP/IP协议族按层次分为4层:应用层、传输层、网络层、数据链路层

把TCP/IP层次化是有好处的。比如,如果在互联网只需要一个协议统筹,某个地方要改变设计时,就必须整体换掉。而分层之后只需把变动的层替换掉即可。

应用层

体系的最顶层,决定了向用户提供应用服务时通信交互的规则,TCP/IP协议族内预存了各类通用的应用服务。比如:

FTP:文件传输协议

DNS:域名系统

http协议也处于该层

传输层

传输层对上层应用层,提供处于网络连接中两台计算机之间的数据传输。其中包括两个性质不同的协议:

TCP:传输控制协议,传输的单位为报文段,提供面向连接的,可靠的数据传输服务

UDP:用户数据报协议,传输单位为用户数据报,资源消耗小,处理速度快,但是不能保证安全可靠。

网络层:又名网络互联层

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

链路层:又名数据链路层,网络接口层

用来处理连接网络的硬件部分。包括操作系统、硬件设备、网卡、光纤等。

与http密切关联的协议:

IP协议:位于网络层。作用是把各种数据包传送给对方。而要保证确实传到对方那里,则需要满足各类条件。其中两个重要的条件是IP地址和MAC地址。

IP地址指明了节点被分配到的地址,MAC地址是指网卡所属的固定地址。IP地址可以和MAC地址进行配对。IP地址可变换,但MAC地址基本不会更改。

IP间的通信依赖MAC地址。在网络上,通信通过是经过多台计算机和网络设置的中转才连接到对方。而在进行中转时,会利用下一个中转设备的MAC地址来搜索下一个中转目标。需要使用ARP协议,ARP是一种解析地址的协议。根据ip地址反查出对应的MAC地址

TCP协议:位于传输层,为了更容易传输大数据,把数据分割以报文段形式传输。TCP协议可确保数据最后是否送到

为了准确无误的讲数据传送到达目的地,TCP协议采用了三次握手策略。

在三次握手,收发的数据,也会有相应的验证是否正确。除了三次握手,TCP协议还有其他各种手段来保证通信的可靠性

DNF服务:是与http协议一样,处于应用层的协议。提供域名和IP地址之间的服务。比如www.baidu.com这种域名转化成ip地址。或者逆向通过ip地址查询域名。

URI和URL

URI:统一资源标识符,某个协议方案表示资源的定位符。协议方案是指访问资源时所用的协议类型名称,比如使用HTTP协议时,协议方案就是http。

URL:统一资源定位符,表示资源的地点(互联网上的具体位置)

URL是URI的子集

HTTP笔记01-http相关的基础知识的更多相关文章

  1. 《Programming Hive》读书笔记(两)Hive基础知识

    <Programming Hive>读书笔记(两)Hive基础知识 :第一遍读是浏览.建立知识索引,由于有些知识不一定能用到,知道就好.感兴趣的部分能够多研究. 以后用的时候再具体看.并结 ...

  2. php面试笔记(3)-php基础知识-运算符

    本文是根据慕课网Jason老师的课程进行的PHP面试知识点总结和升华,如有侵权请联系我进行删除,email:guoyugygy@163.com 在面试中,考官往往喜欢基础扎实的面试者,而运算符相关的考 ...

  3. tensorflow笔记(一)之基础知识

    tensorflow笔记(一)之基础知识 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7399701.html 前言 这篇no ...

  4. php面试笔记(5)-php基础知识-自定义函数及内部函数考点

    本文是根据慕课网Jason老师的课程进行的PHP面试知识点总结和升华,如有侵权请联系我进行删除,email:guoyugygy@163.com 在面试中,考官往往喜欢基础扎实的面试者,而函数相关的考点 ...

  5. Linux运维笔记(一)网络基础知识

    网络基础知识 一.基本概念 1.ARPANET & TCP/IP:以“软件”技术将网络硬件整合,使得不同的计算机或者数据可以通过这个软件达成数据沟通(TCP/IP技术也被称为Internet) ...

  6. php面试笔记(2)-php基础知识-常量和数据类型

    本文是根据慕课网Jason老师的课程进行的PHP面试知识点总结和升华,如有侵权请联系我进行删除,email:guoyugygy@163.com 面试是每一个PHP初学者到PHP程序员必不可少的一步,冷 ...

  7. MOGRE学习笔记(2) - MOGRE基础知识总结

    前一篇配置了MOGRE的运行环境,这里记录一些MOGRE基础知识,仅仅是最基础的一些东西.由于本人接触ogre的时间比较短,对于很多知识都是一知半解,所以理解起来不免会有一些错误,本人也希望自己在对o ...

  8. C++入门笔记(一)零碎基础知识

    零碎基础知识 一.创建和运行程序 1.使用文本编辑器编写程序,保存为文件,该文件就叫源代码. 2.编译源代码:运行一个程序,将源代码翻译为主机使用的内部语言----机器语言.包含了 编译后程序的文件就 ...

  9. python学习笔记六 面向对象相关下(基础篇)

    面向对象基本知识: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个“函数”供使用(可以将多函数中公用的变量封装到对象中) 对象,根据模板创建的 ...

随机推荐

  1. Java Web之JSP

    什么是JSP? JSP就是一个可以写Java代码的HTML页面 JSP是什么? JSP是Servlet,JSP的本质就是Servlet Tomcat的web.xml文件下有这样几段代码: 看到下面的通 ...

  2. 如何优雅地使用Sublime Text3

    此文非原创,出处见文章结尾. 一.Sublime Text 3插件安装 优雅使用Sublime Text,插件则是不可缺少的存在:而插件的备份就显得非常的重要(譬如:各平台同步:更换系统/电脑,迅速使 ...

  3. JAVA核心技术I---JAVA基础知识(文本文件读写)

    一:java IO包概述 (一)Java读写文件,只能以(数据)流的形式进行读写 (二)java IO 包 –节点类:直接对文件进行读写 –包装类 • 转化类:字节/字符/数据类型的转化类 • 装饰类 ...

  4. angular,vue,react的基本语法—样式处理

    基本语法 样式处理: vue: 动态属性: v-bind:class 简写 :class react: 变量:class={selecter} angular: 指令:[ngClass]=" ...

  5. jenkins检查代码,如没更新停止构建步骤

    需求分析 在jenkins中没有找到构建前插件,每次构建时间很长,希望可以实现判断代码是否更新,如果没更细则停止构建步骤. 实现步骤 在构建时执行shell命令,而jenkins提供的的环境变量可以实 ...

  6. 使用sort函数进行排序

    介绍 C++的一个重要组成部分STL(Standard Template Library),即标准模板库,是一些高级数据结构和算法的集合:高级数据结构(容器)主要包括list.set.vector.m ...

  7. [Android] Android 卡片式控件CardView的优雅使用

    [Android] Android 卡片式控件CardView的优雅使用 CardView是在安卓5.0提出的卡片式控件 其具体用法如下: 1.在app/build.gradle 文件中添加 comp ...

  8. Linux下的解压命令

    Linux下常见的压缩包格式有5种:zip tar.gz tar.bz2 tar.xz tar.Z 其中tar是种打包格式,gz和bz2等后缀才是指代压缩方式:gzip和bzip2 filename. ...

  9. Chimee - 简单易用的H5视频播放器解决方案

    Chimee是由奇舞团开源的一套H5视频播放器解决方案,由奇舞团视频云前端团队结合在业务和视频编解码方向的沉淀积累倾心打造.Chimee支持MP4.M3U8.FLV等多种媒体格式,同时它也帮我们解决了 ...

  10. Continuous Design

    Continuous Design https://www.martinfowler.com/ieeeSoftware/continuousDesign.pdf T he rising popular ...