HTTP协议深入

1.了解web和网络基础

  • 有客户端和服务端双方参与交互

  • 客户端发送请求:request

  • 服务端根据请求给出响应:response

  • 请求通过URL来指定要获取都得资源

  • 响应内容可以是HTML网页,或者用json表示的数据或者其他二进制文件内容

  • Web使用一种名为HTTP的协议作为规范,完成从客户端到服务端的一系列运作流程,而协议是指定规则的约定。Web是建立在HTTP协议上的通信。

1.1 web万维网和HTTP协议

1.1.1 www万维网诞生

诞生于:1989年3月,蒂姆·伯纳斯-李 博士的一篇论文,提出了让远隔两地的研究者们共享知识的设想。

最初的理念:借助多文档之间的相关联形成超文本(HyperText),连成可互相参阅的WWW(World Wide Web,万维网)。

HTTP:HyperText Transfer Protocol,超文本传输协议。 HTML:HyperText Markup Language,超文本标记语言。 URL:Uniform Resource Locator,统一资源定位符。

1.2 HTTP的历史和版本

1.3 当下http协议的使用现状

  • 场景:除了网页,承载更多的互联网应用场景

  • 前端:不再依赖浏览器,可以是手机app,客户端或者一另个服务器

  • 传输方式:Ajax的兴起改变了原本的同步请求模式

  • 传输内容:HTML网页,二进制文件以外也可以依靠Json表示更广泛的内容

  • 数据安全:HTTP+SSL组成HTTPS协议,同时扩展更多的密码学能力

2.与http相关的的协议

2.1 TCP/IP协议族

2.1.1 IP网际协议

  • IP(Internet Protocol)协议位于网络层,负责将数据包递给对方。

  • 任何一个参与到网络上的设备都会用到IP协议,为系统分配对应的IP地址。

  • IP协议和IP地址不是一回事,IP地址是表明网络中每个设备的标签。

  • IP地址需要转换成网卡的物理地址(MAC地址)才能真正完成数据通信。实际上网络中数据传输是异常复杂的,没有人能够完全跟踪整个传输过程,网络中大小网络、广域网、城域网、局域网等嵌套,需要路由才能真正传输到目的地。

  • IP地址目前分为 IPV4 和 IPV6两个版本。

2.1.2 TCP协议

  • TCP位于传输层,提供可靠的字节流服务。

  • 将大的数据分割成报文段,并将数据可靠的传输给对方。

  • 保证可靠----三次握手策略

2.2DNS协议

让IP地址更容易被记住的DNS协议

  • DNS(Domain Name System)域名服务,与HTTP一样,位于TCP/IP分层的应用层的协议,它负责提供域名到IP地址的解析服务。

  • 域名:www.baidu.com, pic.baidu.com, sports.sina.com.cn

  • 根域名: com cn com.cn org tech info me

  • 级域名:baidu.com sina.com.cn qq.com 163.com 12306.cn

  • 子域名:pic.baidu.com sports.sina.com.cn news.qq.com

  • 如果要使用域名完成网络通讯,必须先从域名服务器获取域名对应的IP地址。

相关网络协议---各协议之间的关系图

2.3SSL,HTTPS协议

HHTP协议安全性不足

  • 公开。HTTP是一个公开的协议,任何人都可以随时了解协议的细节,并可以模仿、模拟、伪造HTTP请求获取服务端资源。

  • 网络。HTTP是为网络数据传输而生的,根本职责就是传输数据,那么网络上任何一个 传输节点,包括代理、网管、路由器等都可以随时知道HTTP传输的内容。

  • 明文。HTTP/1.1协议本身没有加密规则,所以整个报文体都是明文在网络上流转。

HTTP协议安全性的解决办法

SSL/TSL安全传输
  • SSL(Secure Socket Layer) 安全 套接层

  • TSL(Transport Layer Security)安全传输层协议

  • HTTP与SSL或TSL组合使用,建立安全通路

    • SSL+HTTP = HTTPS

    • HTTPS(HTTP Secure)超文本传输安全协议

  • SSL通路与TCP一样,为了安全和完整性都牺牲了一些效率

加密报文体

  • HTTP协议的报文分为:报文头、报文体

  • 针对报文体的明文内容,结合密码学相关技术

  • 只将报文体的内容进行加密,保证数据安全

  • 这种方式需要客户端、服务端单独支持,提高了系统实现的复杂度

  • 而密钥和加密算法可以完全私有化,安全性相对较高

实际应用中,已经更多采用两种方式结合,即加密通讯又加密报文体

3.HTTP协议

HTTP是什么?

HyperText Transfer Protocol ,超文本传输协议

  • 协议

    • 有两个或者多个参与者

    • 定义了交互的约定和规范

  • 传输

    • http是一个专门用来在两点之间传输内容的协议

    • 包括请求方和响应方

  • 超文本

    • http不仅可以传输文本

    • 还可以传输音频、视频、文件

HTPP不是什么?

  • 不是浏览器、不是操作系统

    • http只是浏览器等客户端传输数据时使用的规范

  • 不是HTML

    • http和html经常一起出现但是他们不一样

    • html是超文本的载体,传输的内容

  • 不是编程语言

    • http不是java、python这种编程语言

    • 但是可以用语言来模拟http请求

3.1 URI与URL

URI(Uniform Resource Identifier),统一资源标识符

URL(Uniform Resource Locator),统一资源定位符,也就是网址

3.2 http报文结构

一个例子

3.3 请求方法

3.4 响应状态码

3.5 http请求头

Http首部

重要的HTTP首部参数

3.6 无状态与身份认证

4.HTTP协议总结

HTTP协议特点

  • 灵活可扩展、首部、内容、状态码都可自定义

  • 可靠的传输协议、基于TCP协议

  • 是一个应用层协议,与ftp、smtp相比应用更广泛

  • 采用请求应答通讯模式,客户端和服务端(C/S)

  • 无状态的协议

  • 实体数据可分段、可压缩、支持多语言、灵活编码

HTTP/1.1的优点

  • 简单、灵活、容易扩展

  • 应用广泛、不受编程语言、软件、硬件的约束

  • 无状态减轻服务器的压力、更容易组成服务器集群

  • 明文传输让协议更容易理解、更直观、调试更容易

HTTP/1.1的缺点

  • 无状态需要Cookie技术支持

  • 明文传输让数据毫无隐私可言、不安全

  • 没有客户身份验证、容易伪装、篡改

  • 请求应答模式、对高并发网络传输有挑战

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/770455.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何清理电脑内存?让电脑运行如飞!

电脑内存(RAM)的清理对于维持系统的流畅运行至关重要。随着使用时间的增加,系统内存会被各种应用程序和后台进程占用,导致系统响应变慢,甚至出现卡顿现象。通过有效地清理内存,可以提升电脑的性能&#xff…

实验六 SQL数据查询—单表查询

题目 打开ecommerce数据库,用SQL语句完成下列各项查询要求: 查询每位员工的员工编号empno、员工姓名empname、联系电话telephone和所在部门名称depname查询已下订单的商品的orderno、memname、proname、qty、totalmoney信息查询会员订单总金额超过2000的…

机器人视觉系统的发展前景如何?

在开始前刚好我有一些资料,是我根据网友给的问题精心整理了一份「机器人视觉的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!!机器视觉作为图像数据…

悲情短视频:成都柏煜文化传媒有限公司

悲情短视频:在光影交错中触动人心的温柔力量 在这个五彩斑斓的视频时代,悲情短视频如同一抹深秋的寒露,悄然落在人们的心田,带来一丝不易察觉却又难以抗拒的凉意。它们不以华丽的特效或激昂的音乐取胜,而是凭借真挚的…

UCOS-III 任务调度与就绪列表管理

01. 就绪优先级位图 在实时操作系统中,任务调度的效率至关重要。UCOS-III通过就绪优先级位图来快速查找最高优先级的就绪任务,从而实现高效调度。就绪优先级位图是一个按位表示的结构,每个位代表一个优先级,当某个优先级上有任务就…

DLS MARKETS外汇:美指牛市通道稳固,非农数据和美国大选成关键因素

摘要: 尽管近期美国经济数据表现疲弱,但美元指数(美指)依旧表现平稳。本周五即将公布的6月非农就业数据,以及即将到来的美国总统大选,将成为影响美元走势的关键因素。在技术面上,美指保持在牛市…

dell服务器RAID5磁盘阵列出现故障的解决过程二——热备盘制作与坏盘替换过程

目录 背景方案概念全局热备(Global Hot Spare):独立热备(Dedicated Hot Spare): 过程8号制作成热备清除配置制作独立热备热备顶替坏盘直接rebuild 更换2号盘2号热备 注意注意事项foreign状态要先清除配置 背…

单片机软件架构连载(1)-枚举(enum)

今天跟大家讲一下我在产品开发时,用枚举(enum)的一些骚操作,都是实战经验,不难,但开发经验尚浅的话,不一定能把它灵活应用。 为什么要讲枚举呢? 因为我发现它是一个容易被遗忘,同时又非常重要的…

【产品经理】订单处理11-订单修改场景梳理

为了应对订单修改的场景,电商ERP系统应该如何设计相应模块? 电商ERP系统,经常遇到需要修改订单的情况,修改订单主要以下几种场景: 一、修改商品 修改商品,包括对正常商品的换货、以及对赠品的增删改。 1…

【SQL】已解决:SQL分组去重并合并相同数据

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决:SQL分组去重并合并相同数据 在数据库操作中,数据的分组、去重以及合并是常见需求。然而,初学者在编写SQL语句时,可能会遇到一…

【JNDI注入利用工具】JNDIExploit v1.1

# 简介 JNDIExploit一款用于 JNDI注入 利用的工具,大量参考/引用了 Rogue JNDI 项目的代码,集成了JDNI注入格式,能够更加方便的开启服务端后直接利用,支持反弹Shell、命令执行、直接植入内存shell等,并集成了常见的by…

[单master节点k8s部署]17.监控系统构建(二)Prometheus安装

prometheus server安装 创建sa账号,对prometheus server进行授权。因为Prometheus是安装在pod里面,以pod的形式去运行的,因此需要创建sa,并对他做rbac授权。 apiVersion: v1 kind: ServiceAccount metadata:name: monitornamesp…

k8s学习--k8s群集部署zookeeper应用及详细解释

文章目录 zookeeper什么是zookeeper基本概念主要功能工作原理使用场景优点缺点 k8s集群部署zookeeper环境一、zookeeper部署YAML资源清单准备二、zookeeper部署及部署验证三、zookeeper应用验证 zookeeper 什么是zookeeper ZooKeeper 是一个开源的分布式协调服务,…

Windows11 安装MySQL

MySQL下载官网 安装教程参考 选择Windows离线安装 典型安装

优化页面加载时间

注:机翻,未校对。 本文年代久远,除了少部分不合时宜的,其他仍有借鉴意义。 Optimizing Page Load Time 优化页面加载时间 It is widely accepted that fast-loading pages improve the user experience. In recent years, many …

Pharmacy Management System v1.0 文件上传漏洞(CVE-2022-30887)

前言 CVE-2022-30887 是一个存在于 Pharmacy Management System v1.0 中的远程代码执行(RCE)漏洞。这个漏洞存在于 /php_action/editProductImage.php 组件中。攻击者可以通过上传一个精心制作的图像文件来执行任意代码。 漏洞详细信息 漏洞描述: Pha…

java项目总结2

3.了解Java的内存分配 4.重载 定义:在一个类中,有相同名的,但是却是不同参数(返回类型可以不一样) 重载的优点: 1.减少定义方法时使用的单词 2.减少调用方法时候的麻烦(比如sum的返回两个数的…

5月1日起,《碳排放权交易管理暂行条例》正式施行

2024年5月1日,《碳排放权交易管理暂行条例》(以下简称《条例》)正式施行,作为我国应对气候变化领域的第一部专门法规,《条例》首次以行政法规的形式明确了碳排放权市场交易制度。 作为碳排放权交易市场的重要补充&…

关于腾讯的哪些事(4月新闻纪要)

科技进步一等奖! 这份文件是关于腾讯Angel机器学习平台获得2023年中国电子学会科学技术奖科技进步一等奖的详细介绍。主要内容涵盖了获奖项目《面向大规模数据的Angel机器学习平台关键技术及应用》的技术特点、应用效果以及发展历程。以下是详细总结: 获…

数据结构——树的基础概念

目录 1.树的概念 2.树的相关概念 3.树的表示 (1)直接表示法 (2)双亲表示法 (3)左孩子右兄弟表示法 4.树在实际中的运用(表示文件系统的目录树结构) 1.树的概念 树是一种非线性的数据结构&#xff0…