HTTP笔记01-http相关的基础知识
这个系列文章是阅读《图解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相关的基础知识的更多相关文章
- 《Programming Hive》读书笔记(两)Hive基础知识
<Programming Hive>读书笔记(两)Hive基础知识 :第一遍读是浏览.建立知识索引,由于有些知识不一定能用到,知道就好.感兴趣的部分能够多研究. 以后用的时候再具体看.并结 ...
- php面试笔记(3)-php基础知识-运算符
本文是根据慕课网Jason老师的课程进行的PHP面试知识点总结和升华,如有侵权请联系我进行删除,email:guoyugygy@163.com 在面试中,考官往往喜欢基础扎实的面试者,而运算符相关的考 ...
- tensorflow笔记(一)之基础知识
tensorflow笔记(一)之基础知识 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7399701.html 前言 这篇no ...
- php面试笔记(5)-php基础知识-自定义函数及内部函数考点
本文是根据慕课网Jason老师的课程进行的PHP面试知识点总结和升华,如有侵权请联系我进行删除,email:guoyugygy@163.com 在面试中,考官往往喜欢基础扎实的面试者,而函数相关的考点 ...
- Linux运维笔记(一)网络基础知识
网络基础知识 一.基本概念 1.ARPANET & TCP/IP:以“软件”技术将网络硬件整合,使得不同的计算机或者数据可以通过这个软件达成数据沟通(TCP/IP技术也被称为Internet) ...
- php面试笔记(2)-php基础知识-常量和数据类型
本文是根据慕课网Jason老师的课程进行的PHP面试知识点总结和升华,如有侵权请联系我进行删除,email:guoyugygy@163.com 面试是每一个PHP初学者到PHP程序员必不可少的一步,冷 ...
- MOGRE学习笔记(2) - MOGRE基础知识总结
前一篇配置了MOGRE的运行环境,这里记录一些MOGRE基础知识,仅仅是最基础的一些东西.由于本人接触ogre的时间比较短,对于很多知识都是一知半解,所以理解起来不免会有一些错误,本人也希望自己在对o ...
- C++入门笔记(一)零碎基础知识
零碎基础知识 一.创建和运行程序 1.使用文本编辑器编写程序,保存为文件,该文件就叫源代码. 2.编译源代码:运行一个程序,将源代码翻译为主机使用的内部语言----机器语言.包含了 编译后程序的文件就 ...
- python学习笔记六 面向对象相关下(基础篇)
面向对象基本知识: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个“函数”供使用(可以将多函数中公用的变量封装到对象中) 对象,根据模板创建的 ...
随机推荐
- HTML 基础知识汇总(一)
头部: <head> <!-- 国际通用编码 --> <meta charset="UTF-8"> <!-- 超链接优化写法,让所有的超链 ...
- Redis之Transactions(事物)
你问我Redis支不支持事物?告诉你,Redis对事物的支持是部分支持(对比关系型数据库,没有强一致性) 定义:一个队列.一次性.顺序的.排他性的执行一系列命令 常用命令: DISCARD 取消事物, ...
- canvas意料之外获得降龙十八掌的效果
瞎整本来是要点击编辑多张图片的,没想到弄成这样.这不是电视剧里的降龙十八掌吗 特此记录留着以后用,看来canvas做游戏特效都不错啊. <!DOCTYPE html><html la ...
- linux unknown host 问题【转】
如果某台Linux(CentOS)服务器ping域名, 如下提示: # ping www.sina.comping: unknown host www.sina.com 确认网络没问题的情况下, 可以 ...
- Tomcat下载,及环境变量配置
首先,介绍一下Tomcat: Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache.Sun 和其他一些公 ...
- Select 子句后的别名,在where条件中不能使用
SELECT * FROM student WHERE (条件) 执行顺序,先执行FROM 子句,然后执行WHERE 子句,最后执行SELECT 所以Select 子句后的别名,在where条件中不能 ...
- Python使用的技巧
1. 给你一个字符串 a, 请你输出逆序之后的a. 例如:a=‘xydz’ 则输出:zdyx a=a[::-1] print(a) 扩展:Python切片操作. 2. 给你两个正整数a和b, 输出它们 ...
- bash 文件名操作 常用方法
参考链接: http://www.jb51.net/article/51592.htm 查找文件不获取路径: find $1 -name '*.bin' -exec basename {} \;
- mybatis批量更新报错
批量更新sql <update id="updateAutoAppraiseInfo" parameterType="Object"> <fo ...
- markdown自动生成侧边栏TOC /目录
http://blog.csdn.net/haleypku/article/details/51226704 此文可以只了解一下概念: http://i5ting.github.io/i5ting_z ...