【图解Http 学习摘要】一、http介绍、TCP/IP 协议族

简介: 【图解Http 学习摘要】一、http介绍、TCP/IP 协议族

前言


翻阅【图解http】这本书,学习http,记录摘要。


学习目的就不用多说了,作为测试人员接触最多的就是web、http,多写了解,只有好处没有坏处。


此外,这一项是面试高频问题,比如:输入URL看到网页,背后经历什么、三次握手、四次挥手介绍一下?


如果你现在说不上来,那么还是建议花点时间去学习了解一下。


另外,很多大厂的jd里对此也有着明确的要求。


1268169-20210703220147563-1021180644.png


图里还圈了一下 leetcode,如果要面大厂,在线做题是必考项了。对于测试人员来说,可以刷刷 LeetCode 上简单难度即可。


一、HTTP 介绍


HTTP (全称 HyperText Transfer Protocol),是一种协议,叫超文本传输协议


我们在使用浏览器访问web的时候,正是基于了这种协议,完成了从客户端到服务器端的一系列运作流程,也就是说,web是建立在http协议上通信的。


1. http的诞生


起初,互联网还只属于少数人,这时候互联网处于黎明期,1989年3月,HTTP 诞生。


先驱者们最初的设想是:借助多文档之间相互关联形成的超文本(HyperText),连成可以互相参阅的WWW(World Wide Web),即万维网


关于WWW,有3项构建技术:


  • HTML:把 SGML(Standard Generalized Markup Language,标准通用标记语言)作为页面的文本标记语言。
  • HTTP:作为文档传递协议。
  • URL:统一资源定位符(Uniform Resource Locator)。


WWW 这个名称,是web浏览器当年用来浏览超文本的客户端应用程序时的名称。现在,则用来表示这一系列的集合,也可以简称为 Web。


2. http的成长


  • HTTP/0.9:http于1990年问世,那时候还没有作为正式的标准,所以就代表 HTTP/1.0 以前的版本。
  • HTTP/1.0:1996年5月,http正式作为标准,版本命名为 HTTP/1.0。
  • HTTP/1.1:1997年1月公布,是目前主流的http协议版本。


新一代的 HTTP/2.0 正在制定中,但是要达到较高的使用覆盖率,还需要一定的时间。


二、TCP/IP 协议族


在进一步了解http之前,还有必要先了解下 TCP/IP 协议族。因为我们通常使用的网络是在 TCP/IP 协议族的基础上运作的。


1. 什么是 TCP/IP 协议族


计算机与网络设备相互通信,双方就要基于相同的方法,遵循一种规则,这种规则就可以称为 协议(protocol)。


但是在协议中内容有很多,从电缆规格到 IP地址 选定方法、寻找异地用户的方法、双方建立通信的顺序等等。


于是,把这些与互联网相关联的协议集合起来,总称为 TCP/IP。


1268169-20210703220834651-818206519.png


2. TCP/IP 通信传送过程


TCP/IP 协议族里重要的一点就是分层。把各层之间的接口部分规划好之后,每个层次内部的设计就能够自由改动,设计也变得相对简单了。


  • 应用层:决定了向用户提供应用服务时通信活动。http 协议就处于该层。
  • 传输层:提供处于网络连接中的两台计算机之间的数据传输。TCP 传输控制协议 就处于该层。
  • 网络层:处理网络上流动的数据包。IP 就处于该层。
  • 链路层:处理网络连接的硬件部分。比如:硬件的设备驱动、网络适配器、网卡、光纤等物理可见部分。


利用 TCP/IP 协议族进行网络通信时,会通过分层顺序与对方进行通信。


1268169-20210703221806102-1386054737.png


发送端从应用层往下走,接收端则往应用层往上走。比如,现在向一个地址发送请求,想看到web页面:


  1. 发送 http 请求。
  2. 为了传输方便,在传输层(TCP 协议)把从应用层处收到的数 据(HTTP 请求报文)进行分割,并在各个报文上打上标记序号及端口号后转发给网络层。
  3. 在网络层(IP 协议),增加作为通信目的地的 MAC 地址后转发给链 路层。
  4. 接收端的服务器在链路层接收到数据,按序往上层发送,一直到应用层


每层打标


发送端在层与层之间传输数据时,每经过一层时必定会被打上一个该 层所属的首部信息。


1268169-20210703222251570-258666530.png


反之,接收端在层与层传输数据时,每经过一层 时会把对应的首部消去。

相关文章
|
2月前
|
缓存 应用服务中间件 网络安全
Nginx中配置HTTP2协议的方法
Nginx中配置HTTP2协议的方法
123 7
|
12天前
|
域名解析 缓存 网络协议
Web基础与HTTP协议
通过掌握这些基础知识和技术,开发者可以更加高效地构建和优化Web应用,提供更好的用户体验和系统性能。
64 15
|
8天前
|
前端开发 网络协议 安全
【网络原理】——HTTP协议、fiddler抓包
HTTP超文本传输,HTML,fiddler抓包,URL,urlencode,HTTP首行方法,GET方法,POST方法
|
10天前
|
缓存 网络协议 算法
从零开始掌握HTTP协议
本文介绍HTTP协议的演变,从HTTP1.0到HTTP2.0。HTTP1.0为无状态连接,每次请求独立;HTTP1.1引入持久连接、管道化请求和更多状态码;HTTP2.0采用二进制分帧、多路复用、头部压缩及服务器主动推送,大幅提升性能与用户体验。了解这些区别有助于开发者优化应用和服务。
|
10天前
|
网络协议 安全 网络安全
探索网络模型与协议:从OSI到HTTPs的原理解析
OSI七层网络模型和TCP/IP四层模型是理解和设计计算机网络的框架。OSI模型包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,而TCP/IP模型则简化为链路层、网络层、传输层和 HTTPS协议基于HTTP并通过TLS/SSL加密数据,确保安全传输。其连接过程涉及TCP三次握手、SSL证书验证、对称密钥交换等步骤,以保障通信的安全性和完整性。数字信封技术使用非对称加密和数字证书确保数据的机密性和身份认证。 浏览器通过Https访问网站的过程包括输入网址、DNS解析、建立TCP连接、发送HTTPS请求、接收响应、验证证书和解析网页内容等步骤,确保用户与服务器之间的安全通信。
55 1
|
2月前
|
开发者
HTTP 协议请求方法的发展历程
【10月更文挑战第21天】
|
2月前
|
安全 网络协议 应用服务中间件
内网ip申请SSL证书实现https访问
内网IP地址虽不能直接申请公网SSL证书,但可通过IP SSL证书保障数据安全。流程包括:确定固定内网IP,选择支持内网IP的CA,注册申请证书,生成CSR,验证IP所有权,下载部署证书至Web服务器,测试HTTPS访问,确保配置正确及证书有效。此方法适用于内网环境,提升数据传输安全性。
内网ip申请SSL证书实现https访问
|
2月前
|
Dubbo 安全 应用服务中间件
Apache Dubbo 正式发布 HTTP/3 版本 RPC 协议,弱网效率提升 6 倍
在 Apache Dubbo 3.3.0 版本之后,官方推出了全新升级的 Triple X 协议,全面支持 HTTP/1、HTTP/2 和 HTTP/3 协议。本文将围绕 Triple 协议对 HTTP/3 的支持进行详细阐述,包括其设计目标、实际应用案例、性能测试结果以及源码架构分析等内容。
|
2月前
|
安全 搜索推荐 网络安全
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
70 11
|
2月前
|
缓存 安全 网络协议
HTTPS协议的历史发展
HTTPS协议的历史发展
48 8