http协议

本文涉及的产品
应用型负载均衡 ALB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
传统型负载均衡 CLB,每月750个小时 15LCU
简介: http协议

HTTP协议

超文本传输协议,Hyper Text transfer protocol(发明者:蒂姆.伯纳斯.李)


超文本

包含超链接(link)和各种多媒体元素的文本,这些超文本文件彼此相连,形成网状(web), 因此又被称为网页(web page),这些链接使用URL表示,文本格式一般


为HTML或HTM


HTTP协议版本

   HTTP 0.9

   HTTP 1.0

   HTTP 1.1 当前最流行,更多的请求方法,更精细的缓存控制,支持持久连接

   HTTP 2.0


URI和URL

URI:


uniform resource identifier,统一资源标识符,用来唯一的标识一个资源。

 

URL:


uniform resource locator,统一资源定位器,它是一种具体的URI,即URL可以用来标识一个资源,而且还指明了如何locate这个资源。


格式:https://www.baidu.com/?tn=98010089_dg&ch=12



URL是Internet上用来描述信息资源的字符串,主要用在各种WWW客户程序和服务器程序上,特别是著名的Mosaic。


采用URL可以用一种统一的格式来描述各种信息资源,包括文件、服务器的地址和目录等。


URI是以一种抽象的,高层次概念定义统一资源标识,而URL则是具体的资源标识的方式。  


HTTP请求报文的方法

   get  获得请求文件信息的数据内容(下载)

   post 用户提交数据到服务器(上传)

 

   put         明文上传数据(现在很少用)

   head     获取报文首部

   delete     删除某个资源

   options 查询请求资源都支持什么HTTP方法

 


HTTP返回状态码(status-code)

由3位数字组成

200                请求成功

201                上传文件成功

301                永久重定向(redirect)

302,307        临时重定向(redirect)

304                浏览器缓存

403                请求不到首页,没有权限

404                请求的资源在前端查明不存在

405                请求方法不支持

500                服务器的内部错误,程序错误

502                请求的资源前端有记录指向后端数据库,却找不到后端资源

503                服务暂时不可用

504                请求超时


HTTP的连接类型:

keep-alive

短连接:建立一次tcp的连接,发起一次的HTTP请求,结束,tcp断开

长连接:建立一次tcp的连接,发起多次HTTP的请求,结束,tcp断开


用户访问网站携带的参数,以及服务器返回的参数

(1)General概况

Request URL: https://www.baidu.com/            #请求的URL地址

Request Method: GET                    #请求的方法(获取)

Status Code: 200 OK                    #成功状态码

Remote Address: [2408:80f0:410c:1d:0:ff:b07a:39af]:443    #请求的地址(ipv4或ipv6)

Referrer Policy: no-referrer-when-downgrade        #降级不推荐(从https降级到http)


(2)Request Headers:客户端请求头部信息

Accept: text/html                    #请求的类型

Accept-Encoding: gzip, deflate, br    #是否进行压缩

Accept-Language: zh-CN,zh;q=0.9        #请求的语言

Connection: keep-alive                #TCP长连接

cache-control:max-age=0                #缓存时间

Cookie:                             #客户端缓存,用户密码等网站信息

Host:www.baidu.com/                    #请求的域名

Upgrade-Insecure-Requests: 1        #启用升级https访问

User-Agent: Mozilla/5.0             #客户端浏览器


(3)Response Headers:服务器响应头部信息

Cache-Control: private                    #缓存类型非公开(公开:pubLic)

Connection: keep-alive                    #长连接

Content-Encoding: gzip                    #压缩格式gzip

Content-Type: text/html;charset=utf-8    #文档类型

Date: Sat, 14 Mar 2020 08:48:02 GMT        #响应时间

Expires: Sat, 14 Mar 2020 08:47:42 GMT    #失效时间

Server: BWS/1.1                            #网站服务器软件    

status:200                                #状态码


HTTP统计术语:

PV:页面浏览量

UV:独立客户浏览量

IP:独立ip浏览量

例子:50人,每人通过手机和电脑访问同一网站各两次,全部都用公司宽带上网,会产生多少pv、uv、ip?


答案:200    100    1      


HTTP协议原理和流程

(1)用户输入域名->浏览器跳转->app缓存->DNS解析(递归查询|迭代查询)

(2)由浏览器向服务器发起tcp连接(三次握手)

(3)客户端发起HTTP请求:

   请求的方法(获取)    

   请求的主机:域名

   请求的资源类型(html)

   请求的端口(80、443)

   请求携带的参数(类型、压缩、认证等)

(4)服务器的响应:

   服务器的web软件

   响应的文件类型

   是否压缩

   是否长连接

(5)客户端向服务器发起tcp断开(四次握手)


10.用户访问网站流程:

(1)客户端发起HTTP请求,抵达网站的前端防火墙

(2)防火墙收到请求,分析判断是否符合规则,将合规流量通过tcp连接负载均衡器,传递用户HTTP请求

(3)负载均衡器收到请求,根据内容和策略进行下发任务,通过tcp连接web服务器,转发用户的HTTP请求

(4)web服务器收到用户的请求之后,解析请求内容:

   静态请求:web服务器向nfs建立tcp连接,获取图片等静态文件,返回给负载均衡器

   动态请求:由web服务器向后端的缓存或数据库建立tcp连接,将用户的动态请求传递给动态程序进行解析

(5)由数据库->动态程序->缓存->web->负载均衡器->防火墙->用户


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
4月前
|
数据采集 数据可视化 API
QUIC协议优化:HTTP/3环境下的超高速异步抓取方案
本文介绍了一种基于QUIC和HTTP/3的异步爬虫方案,用于抓取知乎热榜数据并生成趋势图。通过HTTPX与aioquic结合实现高性能连接复用,配合代理IP绕过反爬限制,提取标题、热度等信息。利用Python代码示例展示了异步抓取流程,并借助Matplotlib绘制话题热度变化图表。分析显示突发热点生命周期短,而深度话题热度更稳定。此方案可优化内容运营策略,快速捕捉潜在爆款话题。
169 4
QUIC协议优化:HTTP/3环境下的超高速异步抓取方案
|
2月前
|
缓存 监控 搜索推荐
301重定向实现原理全面解析:从HTTP协议到SEO最佳实践
301重定向是HTTP协议中的永久重定向状态码,用于告知客户端请求的资源已永久移至新URL。它在SEO中具有重要作用,能传递页面权重、更新索引并提升用户体验。本文详解其工作原理、服务器配置方法(如Apache、Nginx)、对搜索引擎的影响及最佳实践,帮助实现网站平稳迁移与优化。
420 68
|
27天前
HTTP协议中请求方式GET 与 POST 什么区别 ?
GET和POST的主要区别在于参数传递方式、安全性和应用场景。GET通过URL传递参数,长度受限且安全性较低,适合获取数据;而POST通过请求体传递参数,安全性更高,适合提交数据。
299 2
|
2月前
|
存储 网络协议 安全
HTTP 协议及会话跟踪机制详解
本文详解了 HTTP 协议的核心知识,包括其定义(超文本传输协议,基于 TCP,规定客户端与服务器通信规则)及与 HTTPS 的区别(安全性、端口、资源消耗)。 介绍了 GET 与 POST 请求的差异(参数限制、安全性、应用场景),以及 Restful 风格(通过 URL 定位资源,请求方式决定操作)。列举了常见 HTTP 状态码(如 200 成功、404 资源未找到),对比了转发与重定向的区别(服务器端一次请求 vs 客户端两次请求)。 还阐述了会话跟踪机制:Cookie 基于客户端存储,通过Set-Cookie和Cookie头实现,安全性较低;Session 基于服务端存储,依赖 C
227 1
|
1月前
|
缓存 网络协议 UED
深度解析HTTP协议从版本0.9至3.0的演进和特性。
总的来说,HTTP的演进是互联网技术不断发展和需求日益增长的结果。每一次重要更新都旨在优化性能,增进用户体验,适应新的应用场景,而且保证了向后兼容,让互联网的基础架构得以稳定发展。随着网络技术继续进步,我们可以预期HTTP协议在未来还会继续演化。
334 0
|
2月前
|
XML 安全 网络架构
深度对比SOAP与HTTP协议:详细理解它们的工作原理和差异
在设计服务和系统交云策略时,考虑到上述差异是至关重要的。SOAP适合需要高安全性、可靠性和事务支持的企业级应用。而HTTP适合Web界面浏览、RESTful服务和需要快速响应的轻量级通信。根据具体需求和上下文,开发者可以选择合适的协议以实现最优的系统性能和用户体验。
280 0
|
3月前
|
缓存
HTTP协议深度剖析:常见请求头信息讲解
这就是HTTP请求头背后的工作原理,希望通过比作“邮差”和“标签”,可以让你对这个繁琐技术更有感触,更得心应手。尽管这些信息可能很琐碎,但了解了它们的含义和工作方式,就等于揭开了HTTP协议神秘的面纱,掌控了网络交流的核心。你还等什么,赶快动手尝试一下吧!
123 17
|
2月前
HTTP协议中常见的状态码 ?
HTTP协议状态码分为1xx、2xx、3xx、4xx、5xx五类。常见状态码包括:101(切换协议)、200(请求成功)、302(重定向)、401(未认证)、404(资源未找到)、500(服务器错误)。
267 0
|
3月前
HTTP协议探究:常用方法一网打尽
总的来说,HTTP协议的命令犹如一把钥匙,解锁了互联网世界的大门。它是规则,也是工具,了解了它,就等于掌握了互联网的一把通行证。我们每天都在用,也常常无视它,但是只有深刻理解了它,才能更好地运用它。如此,我们的互联网世界旅程就会变得更加顺畅,更加有趣。
106 14