HTTP 协议 - 简单谈谈 TCP / IP (一)

原文连接 blog

TCP / IP 基本概念

世界上几乎所有的 HTTP 协议都是由 TCP / IP 协议来承载的。它是互联网相关的各类协议族的总称(通常所说的规则,就是协议)。

从输入的 URL 里我们可以从中获取服务器端的 IP 地址与端口号,建立一条 TCP 连接。建立连接之后,在客户端和服务器端之间交换的报文,不会丢失,受损,或者失序。

分层

TCP / IP 协议族里最重要的特征就是分层,每一层都靠下一层的支持。TCP / IP 按层次分,分为四层:应用层、传输层、网络层、数据链路层。HTTPS 就是在应用层与传输层之间多了一层安全层。

分层之后,各层只需完成各自特定的问题,而不需要管其他,使得设计变的简单,同时,若某部分需要改变时,也只需改变对应的层,无需改变整体。

应用层

应用层决定了向用户提供应用服务时通信的活动(规定传输的数据格式)。

比如 FTP 文件传输协议,DNS 域名解析系统,HTTP 超文本传输协议也位于此层。

传输层

传输层提供处于网络连接中的两台计算机之间的数据传输,在传输层有两个不同的协议,TCP 和 UDP 协议。

网络层

网络层,用来处理网络上流动的数据包,数据包是网络传输的最小数据单位,该层规定了通过怎样的路径到达对方计算机,并把数据包传送给对方。

链路层

用来处理网络的硬件部分。如操作系统,设备驱动等。

TCP / IP 通讯传输

HTTP

以 HTTP 为例,在进行网络通信时,发送端会从应用层往下走,接收端则会往应用层往上走。

建立 TCP 连接之后,从客户端发送一条 HTTP 请求报文,会以流的形式,至传输层(TCP协议), 传输层会把从应用层出收到的请求报文进行分割,并在各个报文打上标记序号,及端口号转发给网络层。到达网络层(IP协议)后,增加作为通信目的地的 MAC 地址后转发给链路层。

作为接收端的服务器在链路层接收到数据之后,会一级一级往上传至应用层。

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

HTTPS

HTTPS 方案的 URL 以 https:// 开头,而不是以 http:// 开头,使用 HTTPS时,所有的 HTTP 请求和响应数据在发送到网络之前,都要进行加密。

下图中,对比了 HTTP 与 HTTPS 的不同:

在发送已加密的 HTTP 报文之前,客户端和服务端会进行一次 SSL 握手,在这次握手过程中,他们主要完成以下工作:

  • 交换协议版本号;
  • 选择一个两端都了解的密码;
  • 对两端身份验证;
  • 生成临时的会话秘钥,以便加密通道。

实际过程可能更复杂。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏LanceToBigData

TCP/IP(五)传输层之细说TCP的三次握手和四次挥手

前言   这一篇我将介绍的是大家面试经常被会问到的,三次握手四次挥手的过程。以前我听到这个是什么意思呀?听的我一脸蒙逼,但是学习之后就原来就那么回事! 一、运输...

2405
来自专栏最高权限比特流

HTTP协议(四):首部

2046
来自专栏mukekeheart的iOS之旅

TCP/IP协议学习笔记

计算机网络基础知识复习汇总:计算机网络基础知识复习 HTTP协议的解析:剖析 HTTP 协议 一个系列的解析文章: TCP/IP详解学习笔记(1)-- 概述 T...

4365
来自专栏用户2442861的专栏

计算机网络面试题 系列一(排名400多还不不错)

http://blog.csdn.net/tianshuai1111/article/details/8121881

1632
来自专栏Java3y

运输层

从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。只有位于网络边缘部分的主机的协议栈才有运输...

1482
来自专栏小二的折腾日记

一文总结计算机网络

它只有四层,相当于五层协议中数据链路层和物理层合并为网络接口层。 现在的 TCP/IP 体系结构不严格遵循 OSI 分层概念,应用层可能会直接使用 IP 层或者...

1042
来自专栏xcywt

TCP/IP详解 卷1 第十八章 TCP的建立与终止

第十八章 TCP的建立与终止 tcpdump Tcpdump可以将网络中传送的数据报完截获下来进行分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供a...

3118
来自专栏吾爱乐享

软件测试之学习计算机网络知识

1785
来自专栏猿人谷

总结---6

      1.OSI参考模型有多少层?分别是哪几层?(不建议死记硬背,可以看看我在系列文章第一篇里的描述,效果比较好,不会因为紧张而答不出来)        ...

2066
来自专栏大眼瞪小眼

三次握手抓包示例

HTTP 的三次握手是一个非常重要的面试和考试考点,但是今天早上看书上的一幅图和三段话将近看了半个小时,于是来总结一下。

984

扫码关注云+社区

领取腾讯云代金券