【Web安全扫盲】初识HTTP之HTTP协议简要交互过程

等风来,不如追风去~


一、HTTP请求过程

先从网上找两张图来体会一下http的请求过程。
在这里插入图片描述
在这里插入图片描述
再来问一问火爆全网的ChatGPT看他怎么说:
在这里插入图片描述
对于HTTP请求的过程,大佬的这篇博客也给出了一种大同小异的较为详细的说法
提取出来,主要是以下几个步骤:

1、浏览器根据域名解析IP地址
2、浏览器与WEB服务器建立一个TCP连接
3、浏览器给WEB服务器发送一个HTTP请求
4、服务器端响应HTTP请求,浏览器得到HTML代码
5、浏览器解析HTML代码,并请求HTML代码中的资源
6、关闭TCP连接,浏览器对页面进行渲染呈现给用户

基于上述解答,对里边的几处专业术语提出疑问,并寻求答案。
Q1:什么是TCP协议?

传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。

Q2:HTTP请求的的请求头和请求体剖析。
先来简单了解一下什么是HTTP。

1、超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出;而 [9] 消息内容则具有一个类似MIME的格式。这个简单模型是早期Web成功的有功之臣,因为它使开发和部署非常地直截了当。
2、MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。

结合下面两张图可以对http请求报文就够有个较好的了解。
在这里插入图片描述
在这里插入图片描述

HTTP请求头和响应头注解看这篇文章很全~ (F12->刷新页面->点击network查看自己的请求头请求体)
在这里插入图片描述

Q3:HTTP响应的响应头和响应体剖析。
在这里插入图片描述
在这里插入图片描述
Q4:什么是DNS解析?

DNS解析又叫做域名解析,是众多网络服务中的一种。DNS服务主要提供域名到IP地址的解析服务。计算机既可被赋予IP地址,也可被赋予主机名和域名。比如:www.example.com。
如果用户想要访问某一个网页,通常是使用主机名和域名来访问Web服务器的,而不是直接通过IP地址来访问。因为和IP地址的一组纯数字相比,用字母配合数字的表示形式来指定计算机名更符合人类的记忆习惯。为了更好的帮助大家理解DNS解析,首先,要知道一些基本的概念。

DNS解析,又叫做域名解析。是把域名指向网站IP地址的过程。简单的讲域名解析就是域名到IP地址转换的过程,由DNS服务器来完成。DNS解析可以通过域名查找IP地址,也能逆向从IP地址反查域名。

(文章中的这一张图片很生动形象,摘出来品品,原文地址:https://www.gaojipro.com/a/347345在这里插入图片描述
在这里插入图片描述

Q5:什么是SSL连接?

SSL协议,当前版本为3.1(SSL3.1就是TLS1.0)。它已被广泛地用于Web浏览器与服务器之间的身份认证和加密数据传输.它位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层: SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。 SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。

Q6:会话(Session)剖析。

Session:在计算机中,尤其是在网络应用中,称为“会话控制”。Session对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的Web页之间跳转时,存储在Session对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web页时,如果该用户还没有会话,则Web服务器将自动创建一个 Session对象。当会话过期或被放弃后,服务器将终止该会话。Session 对象最常见的一个用法就是存储用户的首选项。例如,如果用户指明不喜欢查看图形,就可以将该信息存储在Session对象中。

session的工作原理:
(1)当一个session第一次被启用时,一个独一的标识被存储于本地的cookie中。
(2)首先使用session_start()函数,PHP从session仓库中加载已经存储的session变量。
(3)当执行PHP脚本时,通过使用session_register()函数注册session变量。
(4)当PHP脚本执行结束时,未被销毁的session变量会被自动保存在本地一定路径下的session库中,这个路径可以通过php.ini文件中的session.save_path指定,下次浏览网页时可以加载使用。

二、HTTP请求方法

在这里插入图片描述

扫盲大队冲鸭!!!

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值