HTTP 协议基础 | 学习笔记

简介: 快速学习 HTTP 协议基础,介绍了 HTTP 协议基础系统机制, 以及在实际应用过程中如何使用。

开发者学堂课程【云安全基础课- HTTP 协议基础HTTP 协议基础】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/496/detail/6649


HTTP 协议基础


内容介绍:

一、Web 请求流程概述

 

一、Web 请求流程概述

1. 输入访问 URL http://xxx

首先在浏览器中输入 URL 网址,一个域名的地址,浏览器根据输入的地址来进行 IP 地址的解析。

2. DNS 域名解析

浏览器会在浏览器缓存中进行 DNS 解析;若缓存中无解析,浏览器会在系统层进行解析,进行系统调用,这样浏览器就可以获得记录;若系统中也无记录,就会向路由器发送查询的请求,一般有 DNS 缓存;若路由器也无信息,会继续向 ISP 的 DNS 缓存进行请求查询;若还找不到,会找 DNS 查询服务器向 DNS 的根域进行查询。

在域名解析中系统进行层层缓存是为了加速 DNS 解析的速度。

例:在浏览器中输入 www.123.com.cn

第一种:

直接查询 DNS 查询服务器,若没有缓存,从后往前查从.cn 开始查,到管理根域名的DNS 服务器查询.cn 的 DNS 服务器的根告诉查询服务器;

第二步:查询服务器请求.com.cn 的查询服务器,然后.cn 的返回.com.cn 的 DNS 查询服务器;

第三步:根据.com.cn,查询123.com.cn,在返回

www.123.com.cn的域名。

第二种:

DNS 查询服务器请求管理根的 DNS 服务器把 cn 的域名的服务器返回,由 cn 的服务器进行其他服务器查询,逐级返回,最后返回给 cn 的服务器,由 cn 的服务器将正确的www.123.返回给 DNS 查询服务器,再返回给客户机的浏览器。

3. 建立 TCP 连接

浏览器在查询完 DNS 得到服务器的 IP 地址会与服务器的 Web 建立 TCP 连接

4. 发送 HTTP Resquest 请求(HTTP 请求有:请求报文和响应报文)

把相应的 HTTP 请求发送给 Web 服务器,请求报文按照 HTTP 请求的标准模式进行发送,有请求行请求头部、空格及数据组成。

5. Web 服务器:反向代理

进行永久的重进象,服务器会给浏览器一个301的重进象,将 www 的地址补齐,一般在 HTTP 服务器都会进行301的重进象,为了提高搜索引擎的搜索排名。

6. 应用服务器:处理请求

根据 URL 的地址及服务器的地址进行请求处理,将相应的文件返回。

7. 关闭 TCP 连接:请求响应完成

在建立完连接之后会关闭 TCP 连接,关闭响应,这时 connection 的连接状态是 close 就会被结束。

8. 用户浏览器:渲染响应页面

用户浏览器会根据服务端的返回,将 HTML 进行渲染,将 HTML 转换成肉眼可见的。

实例:B/S 网络框架和请求流程概述:

图片6.png

用户首先访问服务端的系统输入域名,查询 DNS 服务器,浏览器请求 DNS 将域名解析为对应的 IP 地址,IP 地址在互联网找到对用服务器,向服务器发送 get 的请求,服务器返回默认的数字给用户。

服务器后端可能有多台服务器:

分布式缓存系统;文件系统;数据库系统。前端可能还有负载均衡的设备来平均用户请求。

请求数据可能存储在静态文件或者数据库中,这些都需要服务端进行处理,之后把数据返回浏览器,浏览器对数据进行解析判断动态或静态,若数据中还有静态资源,

例如:CSS、JS、图片时,连接会发起 HTTP 请求,可能将静态资源放在 CDN 上。

相关文章
|
2月前
|
缓存 负载均衡 网络协议
HTTP 与 SOCKS5 代理协议:企业级选型指南与工程化实践
面向企业网络与数据团队的代理协议选型与治理指南,基于流量特征选择HTTP或SOCKS5协议,通过多协议网关统一出站,结合托管网络降低复杂度,实现稳定吞吐、可预测时延与合规落地。
|
5月前
|
缓存 监控 搜索推荐
301重定向实现原理全面解析:从HTTP协议到SEO最佳实践
301重定向是HTTP协议中的永久重定向状态码,用于告知客户端请求的资源已永久移至新URL。它在SEO中具有重要作用,能传递页面权重、更新索引并提升用户体验。本文详解其工作原理、服务器配置方法(如Apache、Nginx)、对搜索引擎的影响及最佳实践,帮助实现网站平稳迁移与优化。
658 68
|
4月前
HTTP协议中请求方式GET 与 POST 什么区别 ?
GET和POST的主要区别在于参数传递方式、安全性和应用场景。GET通过URL传递参数,长度受限且安全性较低,适合获取数据;而POST通过请求体传递参数,安全性更高,适合提交数据。
560 2
|
4月前
|
应用服务中间件
HTTP协议中常见的状态码
HTTP协议状态码分为1xx、2xx、3xx、4xx、5xx五类,常见状态码包括:101(请求已接受)、200(请求成功)、302(重定向)、400(请求错误)、401(未认证)、403(无权限)、404(资源不存在),以及500(服务器错误)、502(网关错误)、503(服务不可用)、504(网关超时)等。
174 0
|
4月前
|
网络协议 安全 网络安全
什么是HTTP协议
HTTP协议是超文本传输协议,基于TCP,规定了客户端与服务器端通信规则,但数据以明文传输,安全性低。HTTPS则通过SSL加密保障数据安全。两者默认端口不同,HTTP为80,HTTPS为443。HTTPS安全性更高,但消耗更多服务器资源。
203 0
|
4月前
|
数据采集 Web App开发 JSON
Python爬虫基本原理与HTTP协议详解:从入门到实践
本文介绍了Python爬虫的核心知识,涵盖HTTP协议基础、请求与响应流程、常用库(如requests、BeautifulSoup)、反爬应对策略及实战案例(如爬取豆瓣电影Top250),帮助读者系统掌握数据采集技能。
382 0
|
5月前
|
存储 网络协议 安全
HTTP 协议及会话跟踪机制详解
本文详解了 HTTP 协议的核心知识,包括其定义(超文本传输协议,基于 TCP,规定客户端与服务器通信规则)及与 HTTPS 的区别(安全性、端口、资源消耗)。 介绍了 GET 与 POST 请求的差异(参数限制、安全性、应用场景),以及 Restful 风格(通过 URL 定位资源,请求方式决定操作)。列举了常见 HTTP 状态码(如 200 成功、404 资源未找到),对比了转发与重定向的区别(服务器端一次请求 vs 客户端两次请求)。 还阐述了会话跟踪机制:Cookie 基于客户端存储,通过Set-Cookie和Cookie头实现,安全性较低;Session 基于服务端存储,依赖 C
585 1
|
4月前
|
缓存 网络协议 UED
深度解析HTTP协议从版本0.9至3.0的演进和特性。
总的来说,HTTP的演进是互联网技术不断发展和需求日益增长的结果。每一次重要更新都旨在优化性能,增进用户体验,适应新的应用场景,而且保证了向后兼容,让互联网的基础架构得以稳定发展。随着网络技术继续进步,我们可以预期HTTP协议在未来还会继续演化。
508 0
|
6月前
|
缓存
HTTP协议深度剖析:常见请求头信息讲解
这就是HTTP请求头背后的工作原理,希望通过比作“邮差”和“标签”,可以让你对这个繁琐技术更有感触,更得心应手。尽管这些信息可能很琐碎,但了解了它们的含义和工作方式,就等于揭开了HTTP协议神秘的面纱,掌控了网络交流的核心。你还等什么,赶快动手尝试一下吧!
222 17