HTTP 超文本传输协议

news2024/7/4 5:49:04

1.HTTP(Hypertext Transfer Protocol,超文本传输协议)

是一种用于传输超媒体文档(例如HTML文件,可以包含文本,视频,图片,音乐,地图定位)的应用层协议,是Web的基础。

HTTP是一个客户端-服务器协议,客户端发起请求,服务器返回响应。

HTTP使用TCP作为其传输层协议,通常使用80端口。

HTTP协议的基本工作方式是,客户端向服务器发送一个HTTP请求,请求中包含请求的方法、URL、HTTP版本号、请求头部和请求正文等信息。服务器接收到请求后,根据请求的URL等信息进行处理,并返回一个HTTP响应,响应中包含HTTP版本号、状态码、响应头部和响应正文等信息。客户端接收到响应后,根据响应的状态码和响应正文等信息进行处理。

HTTP请求的内容:

请求行:

请求行里的请求方式有两种 :

  • Get: 请求可以携带的参数个数较少,请求大小有限制,会在浏览器的URL行显示携带的参数。不安全,但是高效。
  • Post: 请求可以携带的参数个数没有限制,请求大小没有限制,不会在浏览器的URL行显示携带的参数。安全,但是不高效。

消息头:

 HTTP响应的内容:

 响应体:

 响应状态码:

  • 200:  请求响应成功
  • 3xx:  请求重定向
  • 400:找不到资源(404)
  • 5xx:  服务器代码错误(500), 网关错误(502)

HTTP协议的特点包括:

  • 简单快速:HTTP协议使用简单的请求-响应模型,使得客户端和服务器之间的通信变得简单快速。
  • 灵活:HTTP协议允许传输任意类型的数据对象。通过Content-Type头部字段,客户端和服务器可以告知对方传输的数据类型。
  • 无连接:HTTP协议是无连接的,即每个请求都是独立的,服务器不会保留任何客户端的信息。
  • 无状态:HTTP协议是无状态的,即客户端和服务器之间不会保留任何状态信息。这意味着每个请求都是独立的,服务器无法识别出两个连续的请求是否来自同一个客户端。
  • 支持缓存:HTTP协议支持缓存机制,客户端可以缓存服务器返回的资源,以提高性能和减少网络流量。

HTTP/1.0: 客户端与服务器连接后只能获得一个web资源,就断开了连接。

HTTP/1.1: 客户端与服务器连接后可以获得多个web资源。

2.HTTPS(Hypertext Transfer Protocol Secure,安全超文本传输协议)

是一种安全的HTTP协议,它通过使用SSL/TLS协议对HTTP协议传输的数据进行加密和解密,以保证数据传输的安全性。

HTTPS使用的默认端口是443。

HTTPS的工作流程与HTTP类似,不同之处在于HTTPS使用SSL/TLS协议对HTTP协议传输的数据进行加密和解密。SSL(Secure Sockets Layer,安全套接层)和TLS(Transport Layer Security,传输层安全)是一组加密协议,用于保护网络通信的安全性。在HTTPS中,客户端和服务器之间的通信分为以下几个步骤:

1. 客户端向服务器发起HTTPS请求。

2. 服务器将自己的公钥发送给客户端。

3. 客户端使用服务器的公钥对一个随机生成的对称密钥进行加密,并将加密后的密钥发送给服务器。

4. 服务器使用自己的私钥对客户端发送的加密密钥进行解密。

5. 客户端和服务器之间使用这个对称密钥进行加密和解密数据。

HTTPS的优点包括:

  • 数据传输安全:HTTPS使用SSL/TLS协议对数据进行加密和解密,可以保证数据传输的安全性,防止数据被窃取或篡改。
  • 身份认证:HTTPS使用数字证书对服务器进行身份认证,可以防止中间人攻击。
  • SEO优化:搜索引擎会更倾向于显示使用HTTPS协议的网站。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【windows10】查看计算机的WIFI密码

【windows10】查看计算机的WIFI密码 1、背景2、操作 1、背景 无线路由器设置完密码后,经常会忘记。 当有新的设备需要接入网络的时候,如何能快速获得wifi密码呢? 本博客分享一种通过已联网的计算机来查看wifi密码。 2、操作 -step-2.1、打…

阿里云服务器的备案流程和规定如何?如何办理备案手续?

阿里云服务器的备案流程和规定如何?如何办理备案手续?   一、备案流程概述   阿里云服务器的备案流程分为五个主要步骤:1)实名认证;2)填写备案信息;3)上传资料;4&…

Web服务器群集:链路聚合与桥接

目录 一、理论 1.链路聚合 2.bond模式 3.team模式 4.bond和team区别 二、实验 1.实现bond网络接口 2.实现team网络接口 三、总结 一、理论 1.链路聚合 (1)概念 链路聚合(Link Aggregation),它是一个计算机…

【Vue】Vite基础学习

文章目录 Vite 基础学习一、单页面应用程序二、Vite 基本使用2.1 创建 vite 项目2.2 项目结构2.3 项目运行流程 Vite 基础学习 一、单页面应用程序 单页面应用程序(英文名:Single Page Application)简称 SPA,顾名思义&#xff0c…

springboot:定时任务

目录 一、实现定时任务的方法一:基于JDK 方法一:使用JDK自带的Timer类 法二:使用ScheduleExecutorsService类 二、基于Spring Task实现定时任务(推荐使用) 三、基于Quartz实现定时调度 四、使用分布式定时任务框架:elastic-j…

基础-进阶-升级~图解SpringSecurity的RememberMe流程|源码

前言 今天我们来聊一下登陆页面中“记住我”这个看似简单实则复杂的小功能。 如图就是博客园登陆时的“记住我”选项,在实际开发登陆接口以前,我一直认为这个“记住我”就是把我的用户名和密码保存到浏览器的 cookie 中,当下次登陆时浏览器…

关于Synchronized的小结

目录 一.特性 1.既是乐观锁又是悲观锁 2.是轻量级锁,也是重量级锁 3.不是读写锁,是互斥锁 4.是可重入锁 5.非公平锁 6.加锁之后,运行完毕自动解锁释放资源 二:Synchronized使用 第一种:定义一个额外的变量来控制加锁和解锁(类似于吉祥物) 第一种:直接给类/方法上锁 三…

【Linux】MySQL备份与恢复

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 MySQL备份与恢复 一、数据备份的重要性1.数据库备份的分类2.常见的备份方法3.MySQL完全备份与分类 二、MySQL 日志管理三、MySQL 备份与恢复1.MySQL 完全备份1.物理冷备份与恢…

Linux 服务器以及各个系统下安装

Linux 服务器 Linux是操作系统: Linux作为自由软件和开放源代码软件发展中最著名的例子,背靠社区与商业化的使用,使其得到了广泛的应用与发展。 Linux无处不在: 世界上500个最快的超级计算机90%以上运行Linux发行版…

【MyBatis学习】动态SQL的使用,MyBatis还能这样使用?惊掉了我的下巴 ,赶快带着好奇心一起畅游动态SQL的海洋吧! ! !

前言: 大家好,我是良辰丫,今天我们来学习一下MyBatis中动态sql的使用,带着疑惑走进我们今天的学习! ! !💌💌💌 🧑个人主页:良辰针不戳 📖所属专栏:javaEE进阶篇之框架学习 🍎励志语句…

短视频矩阵源码开发部署技术解析

短视频矩阵源码开发涉及到多个方面的技术,包括但不限于以下几点: 抖yinAPI:需要通过API获取抖音的视频、用户、评论、点赞等数据。 抖yinSDK:如果需要开发一些原生的功能,比如分享、登录、支付等,需要使用…

深入解析大型语言模型:从训练到部署大模型

简介 随着数据科学领域的深入发展,大型语言模型—这种能够处理和生成复杂自然语言的精密人工智能系统—逐渐引发了更大的关注。 LLMs是自然语言处理(NLP)中最令人瞩目的突破之一。这些模型有潜力彻底改变从客服到科学研究等各种行业&#x…

【每天40分钟,我们一起用50天刷完 (剑指Offer)】第四天 4/50

专注 效率 记忆 预习 笔记 复习 做题 欢迎观看我的博客,如有问题交流,欢迎评论区留言,一定尽快回复!(大家可以去看我的专栏,是所有文章的目录)   文章字体风格: 红色文字表示&#…

Jenkins集成Sonar与Gitlab代码质量检测

前提默认 安装docker19,与docker-compose 安装Jenkins 1、docker-compose.yaml配置 version: 3 services: jenkins: #network_mode: "host" #镜像 image: jenkins/jenkins:2.399-jdk11 #容器名称 container_name: jenkins #启动模式 res…

探索uniapp+vue3解析markdown语法|uniapp键盘撑起

最近正在尝试使用uniappvue3开发仿制chatgpt会话功能。 如上图:经过测试在h5/App端/小程序端 均支持markdown语法解析,键盘撑起后,整体页面和顶部自定义导航栏不会被顶起。 uniapp markdown解析及语法高亮 使用了markdown-it和highlight.js…

深入理解深度学习——BERT(Bidirectional Encoder Representations from Transform):输入表示

分类目录:《深入理解深度学习》总目录 BERT在预训练阶段使用了《深入理解深度学习——BERT(Bidirectional Encoder Representations from Transform):MLM(Masked Language Model)》和《深入理解深度学习——…

C++——函数重载

目录 1. 函数重载的概念 2. 函数重载注意点 3. C可以函数重载的原因 4. 总结 1. 函数重载的概念 函数重载:是函数的一种特殊情况。C语言不支持函数重载,而C允许在同一作用域中声明几个功能类似的同名函数,这些同名函数的形参列表(参数个数 或 类型 …

【软件设计师暴击考点】软件工程知识高频考点【一】

👨‍💻个人主页:元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏:软件…

基于Springboot+vue的汽车租赁系统设计与实现

博主介绍: 大家好,我是一名在Java圈混迹十余年的程序员,精通Java编程语言,同时也熟练掌握微信小程序、Python和Android等技术,能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架…

阿里云服务器的可用区和地域选择有哪些考虑因素?如何优化性能?

阿里云服务器的可用区和地域选择有哪些考虑因素?如何优化性能?   选择阿里云服务器时,可用区和地域选择是一个非常关键的环节。本文将为您详细解析在这个过程中需要考虑的因素以及如何优化性能。 一、阿里云服务器的可用区和地域选择的考虑…