tryhackme-Pre Security-HTTP in Detail(HTTP的详细内容)

任务一:What is HTTP(S)?(什么是http(s))

cca5a1c7106b4f86a4831e6fc55b33d6.png

1.What is HTTP? (HyperText Transfer Protocol)(什么是 HTTP?(超文本传输协议))

http是你查看网站的时候遵循的协议。由 Tim Berners-Lee 和他的团队在 1989 年至 1991 年间开发。HTTP 是用于与 Web 服务器通信以传输网页数据(无论是 HTML、图像、视频等)的规则集。

2.What is HTTPS? (HyperText Transfer Protocol Secure)(什么是 HTTPS? (安全超文本传输协议))

HTTPS 是 HTTP 的安全版本。 HTTPS 数据是加密的,因此它不仅可以阻止人们看到您接收和发送的数据,还可以确保您正在与正确的 Web 服务器通信,而不是冒充它。

 

4e8694a379ea4639b252407beeb3978e.png

任务二:Requests And Responses(请求和响应)

What is a URL? (Uniform Resource Locator)(什么是 URL?(统一资源定位器))

如果您曾经使用过 Internet,那么您以前也使用过 URL。URL 主要是有关如何访问 Internet 上的资源的指令。下图显示了 URL 及其所有功能的外观(它不会在每个请求中使用所有功能)。

636982f4277a4e449728c7549b3bb946.png

Scheme: 这指示使用什么协议来访问资源,例如 HTTP、HTTPS、FTP(文件传输协议)。

User: 某些服务需要身份验证才能登录,您可以在 URL 中输入用户名和密码才能登录。

Host: 您要访问的服务器的域名或 IP 地址。

Port: 您要连接的端口,通常为 80 用于 HTTP,443 用于 HTTPS,但这可以托管在 1 - 65535 之间的任何端口上。

Path: 您尝试访问的资源的文件名或位置。

Query String: 可以发送到请求路径的额外信息位。例如,/blog?id=1 将告知博客路径您希望接收 ID 为 1 的博客文章。

Fragment: 这是对请求的实际页面上的位置的引用。这通常用于内容较长的页面,并且可以将页面的某个部分直接链接到该页面,因此用户一旦访问该页面即可查看该页面。

Making a Request提出请求

c96a048662f64ea5bf8f9b63e2f6b621.png

请求示例:

GET / HTTP/1.1
Host: tryhackme.com
User-Agent: Mozilla/5.0 Firefox/87.0
Referer: https://tryhackme.com/

要分解此请求的每一行,请执行以下操作:

第 1 行:此请求将发送 GET 方法( 在 HTTP 方法 任务中,有更多相关信息),请求带有 / 的主页,并告知 Web 服务器我们使用的是 HTTP 协议版本 1.1。

第 2 行:我们告诉 Web 服务器我们希望网站 tryhackme.com

第 3 行:我们告诉 Web 服务器我们使用的是 Firefox 版本 87 浏览器

第 4 行:我们告诉 Web 服务器,将我们推荐到此网页的网页是 https://tryhackme.com

第 5 行:HTTP 请求始终以空行结尾,以通知 Web 服务器请求已完成。

 

响应示例:

HTTP/1.1 200 OK
Server: nginx/1.15.8
Date: Fri, 09 Apr 2021 13:34:03 GMT
Content-Type: text/html
Content-Length: 98

<html>
<head>
    <title>TryHackMe</title>
</head>
<body>
    Welcome To TryHackMe.com
</body>
</html>

第 1 行:HTTP 1.1 是服务器正在使用的 HTTP 协议版本,然后是 HTTP 状态代码(在本例中为“200 Ok”),这告诉我们请求已成功完成。

第 2 行:这告诉我们 Web 服务器软件和版本号。

第 3 行:Web 服务器的当前日期、时间和时区。

第 4 行:Content-Type 标头告诉客户端将发送哪种信息,例如 HTML、图像、视频、pdf、XML。

第 5 行:Content-Length 告诉客户端响应的数据有多少,这样我们就可以确认没有丢失数据。

第 6 行:HTTP 响应包含一个空行,用于确认 HTTP 响应的结束。

第 7-14 行:已请求的信息,在本例中为主页。

8e9dc1e0d31f4b27a1044239b58839f5.png

 

任务三:HTTP Methods(HTTP方法)

HTTP 方法是客户端在发出 HTTP 请求时显示其预期操作的一种方式。HTTP 方法有很多,但我们将介绍最常见的方法,但大多数情况下您将处理 GET 和 POST 方法。

GET Request获取请求

这用于从 Web 服务器获取信息。

POST Request发布请求

这用于将数据提交到 Web 服务器并可能创建新记录

PUT Request放请求

这用于将数据提交到 Web 服务器以更新信息

DELETE Request 删除请求

这用于从 Web 服务器中删除信息/记录。

b503cf7a9e5244dd9cbb1cc96109838b.png

任务四:HTTP Status Codes(HTTP状态码)

在上一个任务中,您了解到,当 HTTP 服务器响应时,第一行始终包含一个状态代码,告知客户端其请求的结果以及可能如何处理该请求。这些 状态代码可以分为 5 个不同的范围:

HTTP 协议状态代码:

100-199 - 信息响应这些 发送来告诉客户端他们请求的第一部分已经 接受,他们应该继续发送其请求的其余部分。 这些代码不再很常见。
200-299 - 成功此状态代码范围用于告诉客户端其请求成功。
300-399 - 重定向这些 用于将客户端的请求重定向到另一个资源。这可以 要么访问不同的网页,要么完全访问不同的网站。
400-499 - 客户端错误用于通知客户端其请求有错误。
500-599 - 服务器错误这 保留给服务器端发生的错误,并且通常 表示处理请求的服务器存在相当大的问题。

常见的 HTTP 状态代码:

200 - 正常请求已成功完成。
201 - 已创建已创建资源(例如,新用户或新博客文章)。
301 - 永久移动这 将客户端的浏览器重定向到新网页或告诉搜索引擎 页面已移动到其他地方,而是查看那里。
302 - 找到与上述永久重定向类似,但顾名思义,这只是一个 临时更改,并且在不久的将来可能会再次更改。
400 - 错误请求这 告诉浏览器其 请求。如果 Web 服务器资源是 被请求需要某个 Client 端没有的某个参数 发送。
401 - 未授权你不是 当前允许查看此资源,直到您授权使用 Web 应用程序(通常是用户名和密码)。
403 - 禁止无论您是否登录,您都无权查看此资源。
405 - 不允许使用资源不允许此方法请求,例如,您发送 GET 请求发送到资源 /create-account (当它需要 POST 时) 请求。
404 - 未找到页面您请求的页面/资源不存在。
500 - 内部服务错误服务器在您的请求中遇到了某种错误,它不知道如何正确处理。
503 - 服务不可用

此服务器无法处理您的请求,因为它已过载或停机进行维护。

e5b91089c202438db507cf0f19aa8cc5.png

任务五:Headers(HTTP请求头)

Common Request Headers通用请求标头

Host: 一些 Web 服务器托管多个网站,因此通过提供主机标头,您可以告诉它您需要哪个网站,否则您只会收到服务器的默认网站。

User-Agent: 这是您的浏览器软件和版本号,告诉 Web 服务器您的浏览器软件有助于它为您的浏览器正确格式化网站,并且 HTML、JavaScript 和 CSS 的某些元素仅在某些浏览器中可用。

Content-Length: 将数据发送到 Web 服务器(例如在表单中)时,内容长度会告知 Web 服务器 Web 请求中预期有多少数据。这样,服务器可以确保它不会丢失任何数据。

Accept-Encoding: 告诉 Web 服务器浏览器支持哪些类型的压缩方法,以便可以缩小数据以通过 Internet 传输。

Cookie: 身份验证

Common Response Headers常见响应标头

These are the headers that are returned to the client from the server after a request.

Set-Cookie: 要存储的信息将在每个请求中发送回 Web 服务器

Cache-Control:在浏览器再次请求响应之前,将响应内容存储在浏览器的缓存中多长时间。

Content-Type: 这会告诉客户端返回什么类型的数据,即 HTML、CSS、JavaScript、图像、PDF、视频等。使用 content-type 标头,浏览器就可以知道如何处理数据。

Content-Encoding:  通过 Internet 发送数据时,使用了什么方法来压缩数据以使其更小。

97ab303861cf4409b749fefbbb031b79.png

任务六:Cookies(cookies值)

您以前可能听说过 cookie,它们只是存储在您计算机上的一小段数据。当您从 Web 服务器收到 “Set-Cookie” 标头时,将保存 Cookie。然后,您发出的每个进一步请求,您都会将 cookie 数据发送回 Web 服务器。由于 HTTP 是无状态的(不会跟踪您以前的请求),因此 cookie 可用于提醒 Web 服务器您是谁、网站的一些个人设置或您以前是否访问过该网站。让我们看一下这个 HTTP 请求示例:

0bc8a41a51824996a571e4587886475a.png

ec3c715f4e104225a4df5eaf68200722.png

 

任务七:Making Requests(发起请求)

44b770bc1b9c4497b17739550e31853e.png

1eeddfbc8d9f4aafbc0ad9e2663f9a64.png

您是否希望通过导览来了解有关如何开始的更多信息?

2404ebcb55b44c6fb078eeafd9806809.png

改变你的请求方式

fce96521fcbc416881426214c4beb7f0.png

改变你的url

9d6a99204cb04d2688ed7c8667b8b0f5.png

6fe4c440fce341728f18258a7cbda45c.pngUpdate your GET & POST parameters here.

第一个问题

f1f7ff846e98470da37a5d814ef4f7f9.png

c417d702761b42afb6c6f52f26f83bb7.png

第二个问题

0a4b3044ee4f4beca9e64e9e3e8449a5.png

 

3061ec2ed3e3463aa90ca06e6d59a2d3.png

 ef78b1dfedbe4effa61a0d80ac1b71d1.png

第三个问题

e75099786bfc48a6b5aa7832a89ccf65.png

4c73e2680c7c4524aee22f017a9b7c15.png

 

第四个问题

d9a2e704998747c7ba1e17552a1d4ce3.png

782ca535b44c471792bdb27e192d20e9.png

107e4eca4b084d20a285da4620d5b3b7.png

第五个问题

685d6bb47caf4dc09438ebe7deab5466.png

f34f7ebce3784516bd6cb7cfbfd997fa.png

 440529a9e47c4d429a0ec0b9203cc6df.png

 

 

 

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

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

相关文章

UDP网络编程套接

目录 本文核心 预备知识 1.端口号 认识TCP协议 认识UDP协议 网络字节序 socket编程接口 sockaddr结构 UDP套接字编程 服务端 客户端 TCP与UDP传输的区别 可靠性&#xff1a; 传输方式&#xff1a; 用途&#xff1a; 头部开销&#xff1a; 速度&#xff1a; li…

MyBatis-Plus中isNull与SQL语法详解:处理空值的正确姿势

目录 前言1. 探讨2. 基本知识3. 总结 前言 &#x1f91f; 找工作&#xff0c;来万码优才&#xff1a;&#x1f449; #小程序://万码优才/r6rqmzDaXpYkJZF 基本的Java知识推荐阅读&#xff1a; java框架 零基础从入门到精通的学习路线 附开源项目面经等&#xff08;超全&#x…

EGO Swarm翻译

目录 摘要 Ⅰ 介绍 Ⅱ 相关工作 A . 单四旋翼局部规划 B . 拓扑规划 C. 分布式无人机集群 Ⅲ 基于梯度的局部规划隐式拓扑轨迹生成 A.无需ESDF梯度的局部路径规划 B.隐式拓扑轨迹生成 Ⅳ 无人机集群导航 A 机间避碰 B. 定位漂移补偿 C. 从深度图像中去除agent Ⅴ …

电商数据采集电商,行业数据分析,平台数据获取|稳定的API接口数据

电商数据采集可以通过多种方式完成&#xff0c;其中包括人工采集、使用电商平台提供的API接口、以及利用爬虫技术等自动化工具。以下是一些常用的电商数据采集方法&#xff1a; 人工采集&#xff1a;人工采集主要是通过基本的“复制粘贴”的方式在电商平台上进行数据的收集&am…

PostgreSQL和Postgis安装

Windows下PostgreSQL和对应的版本的Postgis安装 PostgreSQL安装 1、官网下载地址 https://www.enterprisedb.com/downloads/postgres-postgresql-downloads 2、根据自己的系统下载完成&#xff0c;Windows下可以直接傻瓜式安装就OK 建议不要通过自带的这个程序安装postgis,…

代码开发相关操作

使用Vue项目管理器创建项目&#xff1a;&#xff08;vue脚手架安装一次就可以全局使用&#xff09; windowR打开命令窗口&#xff0c;输入vue ui&#xff0c;进入GUI页面&#xff0c;点击创建-> 设置项目名称&#xff0c;在初始化git下面输入&#xff1a;init project&…

Vulnhub DC-6靶机攻击实战(一)

导语   之前的分享中我们介绍了关于Vulnhub虚拟机前五个机器的攻防演练测试,接下来我们继续分享Vulnhub DC-6靶机攻击实战。 文章目录 搭建测试环境第一步、信息采集第二步、wpscan爆破第三步、开始查找其他的用户第四步、提权总结搭建测试环境 首先需要从Vulnhub官网中下载…

深度学习之超分辨率算法——FRCNN

– 对之前SRCNN算法的改进 输出层采用转置卷积层放大尺寸&#xff0c;这样可以直接将低分辨率图片输入模型中&#xff0c;解决了输入尺度问题。改变特征维数&#xff0c;使用更小的卷积核和使用更多的映射层。卷积核更小&#xff0c;加入了更多的激活层。共享其中的映射层&…

深度学习从入门到精通——图像分割实战DeeplabV3

DeeplabV3算法 参数配置关于数据集的配置训练集参数 数据预处理模块DataSet构建模块测试一下数据集去正则化模型加载模块DeepLABV3 参数配置 关于数据集的配置 parser argparse.ArgumentParser()# Datset Optionsparser.add_argument("--data_root", typestr, defa…

大数据操作实验一

1.Postgresql 1.1 数据库的对象创建 1.1.1 创建数据库(Database) 鼠标右键database进行创建 1.1.2 创建图(Schema) 鼠标右键schema&#xff0c;然后创建schema图纸 1.1.3 创建表(Table) 鼠标右键Table&#xff0c;创建表 1.2数据库实列化 1.2.1 实列化静态数据 提…

IDEA2024如何创建一个普通的Java Web项目工程(JSP)

本章教程,主要介绍如何在IDEA2024 专业版本中,创建一个普通的Java Web项目。 一、新建项目 二、配置项目 依次点击File——Project Structure——Modules 修改路径中的web为webapp,然后点击Create Artifact默认保存。 至此,一个基础的Java web就创建完成了。

Linux下mysql 8.0安装教程

本文介绍了如何在Linux下安装MySQL8.0,供大家参考,具体内容如下 准备工作: mysql8.0 rpm文件 测试工具(比如 idea的database工具) 安装步骤: 1. 下载mysql的repo源,下载地址: 进入Linux系统,输入指令: 1 wgethttps://dev.mysql.com/get/mysql80-community-rele…

libaom 源码分析:熵编码模块介绍

AV1 熵编码原理介绍 关于AV1 熵编码原理介绍可以参考:AV1 编码标准熵编码技术概述libaom 熵编码相关源码介绍 函数流程图 核心函数介绍 av1_pack_bitstream 函数:该函数负责将编码后的数据打包成符合 AV1 标准的比特流格式;包括写入序列头 OBU 的函数 av1_write_obu_header…

[数据结构#1] 并查集 | FindRoot | Union | 优化 | 应用

目录 1. 并查集原理 问题背景 名称与编号映射 数据结构设计 2. 并查集基本操作 (1) 初始化 (2) 查询根节点 (FindRoot) (3) 合并集合 (Union) (4) 集合操作总结 并查集优化 (1) 路径压缩 (2) 按秩合并 3. 并查集的应用 (1) 统计省份数量 (2) 判断等式方程是否成…

Centos创建共享文件夹拉取文件

1.打开VMware程序&#xff0c;鼠标右检你的虚拟机&#xff0c;打开设置 2.点击选项——共享文件夹——总是启用 点击添加&#xff0c;设置你想要共享的文件夹在pc上的路径&#xff08;我这里已经添加过了就不加了&#xff09; 注意不要中文&#xff0c;建议用share&#xff0c…

Element@2.15.14-tree checkStrictly 状态实现父项联动子项,实现节点自定义编辑、新增、删除功能

背景&#xff1a;现在有一个新需求&#xff0c;需要借助树结构来实现词库的分类管理&#xff0c;树的节点是不同的分类&#xff0c;不同的分类可以有自己的词库&#xff0c;所以父子节点是互不影响的&#xff1b;同样为了选择的方便性&#xff0c;提出了新需求&#xff0c;选择…

java版电子招投标采购|投标|评标|竞标|邀标|评审招投标系统源码

招投标管理系统是一款适用于招标代理、政府采购、企业采购和工程交易等领域的企业级应用平台。该平台以项目为主线&#xff0c;从项目立项到项目归档&#xff0c;实现了全流程的高效沟通和协作。通过该平台&#xff0c;用户可以实时共享项目数据信息&#xff0c;实现规范化管理…

【Verilog HDL 入门教程】 —— 学长带你学Verilog(基础篇)

文章目录 一、Verilog HDL 概述1、Verilog HDL 是什么2、Verilog HDL产生的背景3、Verilog HDL 和 VHDL的区别 二、Verilog HDL 基础知识1、Verilog HDL 语言要素1.1、命名规则1.2、注释符1.3、关键字1.4、数值1.4.1、整数及其表示1.4.2、实数及其表示1.4.3、字符串及其表示 2、…

龙迅#LT7911E适用于EDP/DP/TPYE-C转MIPIDSI应用,支持图像处理功能,内置I2C,主应用副屏显示,投屏领域!

1. 描述 LT7911E 是一款高性能 eDP 转 MIPI D-PHY 转换器&#xff0c;旨在将 eDP 源连接到 MIPI 显示面板。 LT7911E 集成了一个符合 eDP1.4 标准的接收器&#xff0c;支持 1.62Gbps 至 5.67Gbps 的输入数据&#xff0c;以 270Mbps 的递增步长&#xff0c;以及一个 2 端口 D…

《算法SM9》题目

判断题 SM9密码算法系统参数由KGC选择。 A.正确 B.错误 正确答案A 多项选择题 SM9密码算法KGC是负责&#xff08; &#xff09;的可信机构。 A.选择系统参数 B.生成主密钥 C.生成用户标识 D.生成用户私钥 正确答案ABD 判断题 SM9密钥封装机制封装的秘密密钥是根据…