HTTP相关问题

目录

1.从输入URL到页面展示到底发生了什么?

2.HTTP状态码有哪些?

2.1 2XX(成功状态码)

2.2 3XX(重定向状态码)

2.3 4XX(客户端错误状态码)

2.4 5XX(服务端错误状态码)

3.HTTP 请求头中常见的字段有哪些?

4.HTTP和HTTPS有什么区别?

4.1简单介绍

4.2主要区别

4.3Https的缺点

5.HTTP1.0和HTTP1.1的区别

6.HTTP1.1和HTTP2.0有什么区别

7.HTTP2.0和HTTP3.0有什么区别?

8.URI和URL的区别是什么?

9.Cookie和Session的区别?

10.GET和POST的区别?

1.从输入URL到页面展示到底发生了什么?

  1. 首先,浏览器会根据我们输入的URL地址先在本地域名服务器(DNS)中查找,如果有缓存,则直接返回IP地址即可。

  2. 如果本地域名服务器没有缓存,则会查询本机hosts文件中看是否配有对应的IP地址,如果找到,直接返回。

  3. 如果hosts文件内也没有,则向网络中发起一个DNS查询,可采用递归或者迭代查询。去根、顶级、权威域名服务器上去查.....,查找到了返回给本地域名服务器,然后告诉给用户IP地址。

  4. 浏览器根据IP地址和端口号与目标服务器建立TCP连接,经历三次握手。

  5. 建立连接后(HTTP1.1为长连接),浏览器向服务器发送一个HTTP请求,请求获取网页的内容。

  6. 服务器收到后,处理请求,返回响应报文。

  7. 浏览器接收到后,解析HTML代码,获取里面的其他资源,图片等,再次发起HTTP请求,直到网页完全加载显示。

  8. 浏览器不需要通信时,可主动关闭TCP连接,或者等待服务器关闭请求。

2.HTTP状态码有哪些?

2.1 2XX(成功状态码)

  • 200 OK:请求被成功处理。比如我们发送一个查询用户数据的 HTTP 请求到服务端,服务端正确返回了用户数据。这个是我们平时最常见的一个 HTTP 状态码。

  • 201 Created:请求被成功处理并且在服务端创建了一个新的资源。比如我们通过 POST 请求创建一个新的用户。

  • 202 Accepted:服务端已经接收到了请求,但是还未处理。

  • 204 No Content:服务端已经成功处理了请求,但是没有返回任何内容。

2.2 3XX(重定向状态码)

  • 301 Moved Permanently:资源被永久重定向了。比如你的网站的网址更换了。

  • 302 Found:资源被临时重定向了。比如你的网站的某些资源被暂时转移到另外一个网址。

2.3 4XX(客户端错误状态码)

  • 400 Bad Request:发送的 HTTP 请求存在问题。比如请求参数不合法、请求方法错误。

  • 401 Unauthorized:未认证却请求需要认证之后才能访问的资源。

  • 403 Forbidden:直接拒绝 HTTP 请求,不处理。一般用来针对非法请求。

  • 404 Not Found:你请求的资源未在服务端找到。比如你请求某个用户的信息,服务端并没有找到指定的用户。

  • 409 Conflict:表示请求的资源与服务端当前的状态存在冲突,请求无法被处理。

2.4 5XX(服务端错误状态码)

  • 500 Internal Server Error:服务端出问题了。比如你服务端处理请求的时候突然抛出异常,但是异常并未在服务端被正确处理。

  • 502 Bad Gateway:我们的网关将请求转发到服务端,但是服务端返回的却是一个错误的响应。

3.HTTP 请求头中常见的字段有哪些?

字段含义
Request URL请求地址
Request Method请求方法
status Code请求码
Reomte Address客户端主机的IP地址
Date发送日期
User-Agent浏览器身份标识字符串
Accept-Encoding支持的编码
Accept-Language支持的语言
scheme访问协议http或https

4.HTTP和HTTPS有什么区别?

4.1简单介绍

HTTP:最广泛应用的网络通信协议,基于TCP协议,数据传输简单高效,数据传输的内容是明文

HTTPS:HTTP协议的加强版,是运行在SSL/TLS协议之上的HTTP协议,其所有传输的内容都经过加密,一方面保证数据的安全传输,另一方面对访问者增加了安全验证

注意:TLS是SSL的升级版,加密采用的是对称加密,通信双方共享唯一密钥K,这样代价比较低。由于需要保证密钥的保密性,在双方通信时,需要商量一个用于对称加密的密钥,但是密钥不能直接在网络通信道中传输,这样是不安全的,所以还需要采用一次非对称加密(公钥加密和私钥解密的方式)用来交换对称加密的密钥。关于密钥的信任性问题是靠CA证书解决的。

4.2主要区别

1.http和https都是无状态(就是交互之间没有记忆功能)的,而https是通过SSL/TLS协议加密的,传输数据更加的安全。

2.http默认使用的是80端口,而https默认使用的是443端口。

4.3Https的缺点

1.https的TCP握手协议会更加的费时,会耗费更多服务器资源。

2.https也并不是完全安全的,可能会受到DDOS(分布式拒绝服务攻击,使被攻击的网站服务器存放大量要响应的信息,消耗资源,使得服务瘫痪)的攻击。

3.SSL证书不是免费的,安全级别越高的费用越高。

5.HTTP1.0和HTTP1.1的区别

  • 连接方式:HTTP1.0为短连接,HTTP1.1支持长连接。

  • Host头:因为DNS允许多个主机名绑定到同一个IP地址,加上Host字段就知道主机名了。

  • 响应状态码:HTTP1.1在HTTP1.0的基础上新加入了大量的状态码。

  • 加密:HTTP1.1可以支持SSL/TLS加密。

6.HTTP1.1和HTTP2.0有什么区别

  • 多路复用:HTTP2.0在同一连接上可以同时传输多个请求和响应,在处理多个请求时更加的高效。

  • 服务主动推送:HTTP2.0可以在客户端请求一个资源时,将其他相关资源一并推送给客户端,减少了客户端的请求次数。

  • 二进制帧:HTTP2.0使用二进制帧进行数据传输,相较于HTTP1.1文本格式的报文更加的高效。

注意:HTTP1.1和HTTP2.0都与HTTPS有直接关系。HTTP1.1和HTTP2.0都是HTTP协议的版本,而HTTPS是在HTTP协议的基础上加入了SSL/TLS协议进行加密的协议。因此,当使用HTTPS时,实际上是在使用HTTP协议(无论是HTTP1.1还是HTTP2.0)进行加密通信。具体来说,HTTP1.1和HTTP2.0可以与HTTPS一起使用,以提供加密和安全通信。在实际应用中,许多网站使用HTTPS来保护用户的个人信息和其他敏感数据,而HTTP1.1和HTTP2.0都可以作为HTTPS协议的一部分来使用。

7.HTTP2.0和HTTP3.0有什么区别?

  • 传输协议:HTTP2.0是基于TCP协议实现的,HTTP3.0采用了QUIC(UDP的升级版,在其基础上新增了加密、重传等功能)协议来实现可靠的传输。

  • 安全性:HTTP2.0使用TSL协议进行加密,而HTTP3.0基于QUIC协议,包含了内置的加密和身份验证机制,可以提供更强的安全性。

  • 连接建立和错误恢复:HTTP3.0相较于HTTP2.0在连接建立上更快,也有更好的错误恢复机制。

 

8.URI和URL的区别是什么?

  • URI是统一资源标识符,可以唯一标识一个资源,比如一张图片,一段音频。

  • URL是统一资源定位符,可以提供该资源的路径,就是如何指向这个资源。

URI准确来说是包含URL的,比如说有一张图片,他同时放在了tomcat服务器中的两个不同文件夹中,对于URI来说就是一张图片资源,而URL可以有多个,访问的文件夹路径不同,URL不同,但最终得到的就是这一张图片资源。

9.Cookie和Session的区别?

        因为我学习的时候接触的是JWT,没有采用Cookie+Session这种方案,对Cookie和Session的过程只是了解。因为HTTP协议是无状态的,Session的主要作用就是通过服务端记录用户的状态,Session是在服务端的,Cookie是在客户端的,所以Cookie中不能存储敏感信息,最好是将Cookie信息加密存储然后使用到的时候再去服务器端解密。

        基本认证流程如下:

10.GET和POST的区别?

  • 使用场景:get请求一般用于获取或查询资源,而post请求一般用于创建和修改资源。

  • 缓存:浏览器一般会对get请求进行缓存,而post请求不会缓存。

  • 安全性:如果使用HTTP协议的话,其实都不安全,因为HTTP协议本身是明文传输。但相对来说POST请求比GET请求更安全一些,因为GET请求的参数通常放在URL中。

  • 格式:GET请求的URL长度受到浏览器和服务器的限制,而POST请求的body大小没有明确的限制。

 

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

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

相关文章

vue3-内置组件-Transition

基于状态变化的过渡和动画(常用) 建议多看几遍~~。然后动手去写写,学编程只有多动手才能有感觉。 内置组件: 它在任意别的组件中都可以被使用,无需注册。 Vue 提供了两个内置组件,可以帮助你制作基于状态变化的过渡和动…

EMC测试介绍

EMC测试介绍 EMC包括电磁干扰(EMI) 和抗电磁干扰(EMS)两个部分。发射干扰传导发射测试极限线以峰值检坡器测量时使用的决策树应用EN55022标准的波形示例测试仪器![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/4580f693ae9a4f84891ece29681c7bf2.png) 辐射发射测试…

react 之 react.memo

React.memo 作用:允许组件在props没有改变的情况下跳过重新渲染 组件默认的渲染机制 默认机制:顶层组件发生重新渲染,这个组件树的子级组件都会被重新渲染 // memo // 作用:允许组件在props没有改变的情况下跳过重新渲染import…

npm淘宝镜像源换新地址

新的淘宝npm镜像源地址:https://registry.npmmirror.com 切换新的镜像源 npm config set registry https://registry.npmmirror.com然后再执行以下操作查看是否成功 npm config list如果没安装过淘宝镜像源的,则直接安装 npm install -g cnpm --regi…

JVM 性能调优 - 参数调优(3)

查看 JVM 内存的占用情况 编写代码 package com.test;public class PrintMemoryDemo {public static void main(String[] args) {// 堆内存总量long totalMemory Runtime.getRuntime().totalMemory();// jvm 试图使用的最大堆内存long maxMemory Runtime.getRuntime().maxM…

【Linux】Linux权限(下)

Hello everybody!在上一篇文章中,权限讲了大部分内容。今天继续介绍权限剩下的内容,希望大家看过这篇文章后都能有所收获! 1.更改文件的拥有者和所属组 对于普通用户,文件的拥有者和所属组都无权修改。 、 、 但root可以修改文件…

多账号运营为什么要使用动态住宅代理IP?

对于跨境有多账号运营需求的企业来说,选择正确类型的代理IP对于平稳运行至关重要。但最适合这项工作的代理类型是什么?为了更好地管理不同平台上的多个账户并优化成本,您可以选择动态住宅代理。 一、什么是动态住宅代理 动态住宅代理IP是互联…

创新方案|经济下行周期下企业避免杀价内卷侵蚀利润亟需5种创新定价策略

随着通胀持续、全球经济衰退逆风让消费者谨慎支出,绝大多数企业都担心如何刺激购买且保持利润率。在本研究认为,公司不应该简单地调整价格,而应该创造性地借鉴其他行业定价打法,通过创新定价选项的组合,增加向客户计价…

LLM之RAG实战(二十二)| LlamaIndex高级检索(一)构建完整基本RAG框架(包括RAG评估)

在RAG(retrieval Augmented Generation,检索增强生成)系统中,检索到文本的质量对大型语言模型生成响应的质量是非常重要的。检索到的与回答用户查询相关的文本质量越高,你的答案就越有根据和相关性,也更容易…

QMUI_Android:提升Android开发效率与质量的利器

QMUI_Android:提升Android开发效率与质量的利器 在Android应用开发过程中,开发者常常面临着重复编写基础组件和处理兼容性问题的挑战,这不仅耗费时间,也降低了开发效率。为了解决这一问题,Tencent推出了QMUI_Android框…

LeetCode、17. 电话号码的字母组合【中等,dfs回溯】

文章目录 前言LeetCode、17. 电话号码的字母组合【中等,dfs回溯】题目与类型思路递归回溯优化:StringBuilder来回溯补充代码:2024.1.31(简化) 资料获取 前言 博主介绍:✌目前全网粉丝2W,csdn博…

docker部署docker运维工具

简介 主要功能:管理容器,管理镜像,管理容器网络 安装 拉取镜像 docker pull joinsunsoft/docker.ui:1.0.1 启动容器 docker run -d --name docker.ui --restart always -v /var/run/docker.sock:/var/run/docker.sock -p 10039:8999 joinsunsoft/docker.ui:1.0.1 使用 打…

基于鲸鱼优化的knn分类特征选择算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 4.1 鲸鱼优化算法(WOA) 4.1.1 包围猎物 4.1.2 螺旋式搜索 4.1.3 更新策略 4.2 K近邻(KNN)分类器 4.3 基于WOA的KNN分类特征选择算法 5.完…

将Juniper虚拟防火墙vSRX导入EVE-NG

正文共:555 字 8 图,预估阅读时间:1 分钟 前面我们已经简单介绍了如何导入vSRX的VMware镜像到Workstation(Juniper虚拟防火墙vSRX部署初体验),如何导入ESXi并简单操作WEB配置(将Juniper虚拟防火…

【计算机网络基础篇】学习笔记系列之一《TCP/IP 网络模型》

文章目录 1、问题提出2,网络协议是分层的3,应用层4,传输层5,网络层6,网络接口层7,总结 1、问题提出 为什么要有 TCP/IP 网络模型? 不同设备上的进程间通信需要通过一套通用的网络协议进行网络通…

第二证券:北向资金连续第五日净流入,茅台、工行、五粮液等获加仓

沪指低收险守2700点关口,北向资金接连5日净流入。 2月5日,A股三大股指团体低开,三大股指均创阶段性新低后反弹,创业板指午后首先翻红且一度涨超3%,深成指和沪指也相继转涨。但商场做多情绪欠安,沪深股指重…

opensatck中windows虚拟机CPU核数显示异常问题处理

文章目录 一、问题描述二、元数据信息三、以32核的实例模版为例3.1 单槽位32核3.2 双槽位32核 总结 一、问题描述 openstack创建windows虚拟机的时候,使用普通的实例模版会出现CPU数量和实例模版不一致的问题。需要定制元数据才可以正常显示。 帖子:htt…

米贸搜|关于Facebook广告受限:在这些情况下,Meta会限制广告主的广告能力!

如果你被限制了投放广告,那么你会在Facebook上收到通知。 除了审查广告之外,Meta还监控和调查广告主在Meta技术上的行为,在某些情况下,Meta可能会对广告主施加限制,限制广告主的广告能力,这些限制旨在帮助保…

ChatGPT高效提问—prompt基础

ChatGPT高效提问—prompt基础 ​ 设计一个好的prompt对于获取理想的生成结果至关重要。通过选择合适的关键词、提供明确的上下文、设置特定的约束条件,可以引导模型生成符合预期的回复。例如,在对话中,可以使用明确的问题或陈述引导模型生成…

macbookpro和macbookair的区别?cleanmymac 怎么清理mac空间

苹果mac air和pro区别有:1、air采用了轻薄的设计,重量相对较轻,便于携带,而pro更加注重性能,所以比较重;2、air通常搭载较低功耗的处理器内存和存储容量相对较小,而pro配备了更强大的处理器、更…