图解HTTP学习记录(一)
第一章 了解Web及网络基础
HTTP通常被翻译为超文本传输协议,但是不够严谨,严谨的应该为“超文本转移协议”
TCP/IP协议族
协议中存在各式各样的内容。从电缆的规格到 IP 地址的选定方法、寻找异地用户的方法、双方建立通信的顺 序,以及 Web 页面显示需要处理的步骤,等等。 像这样把与互联网相关联的协议集合起来总称为 TCP/IP。也有说法认为,TCP/IP 是指 TCP 和 IP 这两种协 议。还有一种说法认为,TCP/ IP 是在 IP 协议的通信过程中,使用到的协议族的统称。
TCP/IP的分层管理
TCP/IP 协议族里重要的一点就是分层。TCP/IP 协议族按层次分别分为以下 4 层:应用层、传输层、网络层 和数据链路层。
把 TCP/IP 层次化是有好处的。比如,如果互联网只由一个协议统筹,某个地方需要改变设计时,就必须把所 有部分整体替换掉。而分层之后只需把变动的层替换掉即可。把各层之间的接口部分规划好之后,每个层次 内部的设计就能够自由改动了。
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)
图解HTTP学习记录(一)相关推荐
- 迪杰斯特拉算法c++_《算法图解》学习记录7--迪杰斯特拉算法
本章内容 继续图的讨论,介绍加权图--提高或降低某些边的权重. 介绍狄克斯特拉dijstra算法,让你能够找出加权图中前往X的最短路径. 介绍图中的环,它导致狄克斯特拉算法不管用. 在前一 ...
- 图解HTTP学习记录(六)
HTTP 首部 HTTP报文首部 HTTP请求报文 在请求中,HTTP 报文由方法.URI.HTTP 版本.HTTP 首部字段等部分构成 HTTP响应报文 在响应中,HTTP 报文由 HTTP 版本. ...
- (一)Git学习记录(不断更新)
作为程序员如果你还不知道 Git 和 GitHub,说不过去吧,赶紧来学习一波. 一.认识GitHub Git 是个版本控制系统,说明白点就是进行代码的各种管理,比如你写错代码进行回滚啊.追寻 Bug ...
- 《算法图解》学习笔记(七):狄克斯特拉算法(附代码)
欢迎关注WX公众号:[程序员管小亮] python学习之路 - 从入门到精通到大师 文章目录 欢迎关注WX公众号:[程序员管小亮] [python学习之路 - 从入门到精通到大师](https://b ...
- 《算法图解》学习笔记(十一):十种经典的算法与数据结构
python学习之路 - 从入门到精通到大师 文章目录 [python学习之路 - 从入门到精通到大师](https://blog.csdn.net/TeFuirnever/article/detai ...
- Java SE 学习记录——进阶版11
@学习记录 开始学习Java 遵从同学的指导,从Java se开始学习 黑马的JavaSE零基础入门[网络编程] 第一章 网络编程入门 1.1 软件结构 22-02 软件结构 1.2 网络通信协议 2 ...
- 《算法图解》学习笔记(六):图和广度优先搜索(附代码)
欢迎关注WX公众号:[程序员管小亮] python学习之路 - 从入门到精通到大师 文章目录 欢迎关注WX公众号:[程序员管小亮] [python学习之路 - 从入门到精通到大师](https://b ...
- 《算法图解》学习笔记(四):分而治之和快速排序(附代码)
欢迎关注WX公众号:[程序员管小亮] python学习之路 - 从入门到精通到大师 文章目录 欢迎关注WX公众号:[程序员管小亮] [python学习之路 - 从入门到精通到大师](https://b ...
- Netty学习记录-初步认识Netty及I/O模型
Netty学习记录 Netty简介 Netty特征 Netty架构结构图 Netty如今使用的场景 IO了解 BIO: BIO演变的NIO的过程 NIO: NIO三大核心(重点) NIO非阻塞网络编程 ...
最新文章
- 061_html字符实体
- 23种设计模式C++源码与UML实现--单例模式中的饿汉模式和懒汉模式
- oracle的SCN和Checkpoint_Change#的关系
- 理财平台频繁暴雷,羊毛党该要本金还是撸利息?
- Git本地仓库管理远程库(GitHub)——clone(下载)、push(提交)、pull(拉取)操作
- 分段函数是不是一定初等函数_分段函数的微积分例题选讲
- 华为p50出厂自带鸿蒙,真的假的?华为P50系列出厂就预装鸿蒙
- 阿里巴巴矢量图标库在线链接使用图标
- 雷电模拟器链接服务器未响应,雷电模拟器经常卡顿怎么办?分享多种解决方法...
- 电磁学——电磁场与电磁波:麦克斯韦方程组
- python截图并识别文字
- Rest-assured框架详解
- 鲁大师服务器cpu性能排行,鲁大师PC处理器性能排行:AMD撕裂者跑分碾压英特尔, i9 7980XE屈居第二!...
- NFS服务器工作原理及权限设置
- 2021-09-07 照书码——_——
- amigo幸运字符什么意思_做个爬虫比你想象中简单!爬虫是什么?怎么做?
- 京东程序员回应“被猝死”:程序员该如何保护自己的健康?
- 2016年3月23日日本本州岛之旅
- C#DataSet处理数据
- Model Compression and Hardware Acceleration for Neural Networks A Comprehensive Survey
热门文章
- haproxy负载均衡_基于mycat+haproxy+keepalived搭建mysql数据库高可用负载均衡
- docker 启动容器_crontab入门二:定时启动docker容器并启动容器内部脚本
- linux 内核升级 网络 不能上网,Deepin Linux 无法上网
- 集合添加数据类型出现:unhashable type: ‘list‘
- vim 的substitute
- linux下统计所有py文件的代码多少行
- pd.read_csv时出现unnamed列
- 没有找到合适的方法来重写_玻璃片价格太高?你可能没有找到合适的供应商
- Linux串口转远程串口,linux虚拟串口及远程访问
- 变种 背包问题_动态规划入门——传说中的零一背包问题