HTTP超文本协议
声明:以下内容来自泷羽sec的学习笔记,仅作学习,如有按照知识进行破环网络安全,后果自负!!
泷羽sec:https://space.bilibili.com/350329294/channel/collectiondetail?sid=4031268&spm_id_from=333.788.0.0
HTTP超文本协议
前言
工具资源自取:
链接:https://pan.baidu.com/s/19n4IDBA3lMoUsfIxuU0uvA
提取码:p609
web网页的基本上的构成,由html,css,javascript 三个部分组成,网页的部分;通过http超文本传输
今天就着重了解一下http超文本协议
http协议工作于客户端-服务端(browser/sever)B/S架构上。
浏览器作为http客户端通过ur!向http服务端即web服务器发送所有请求。web服务器根据接收到的请求后,向客户端发送响应信息
简单点就是在浏览器上输入网址,通过网络,就能看到输入网址的内容,这个过程就是http协议在起了作用
url的了解例子
https://www.baidu.com/web/579.html?replytocom=22#respond 协议://域名:端口/虚拟目录/文件名?参数#锚点
.com 顶级域名
baidu.com 根域名
www.baidu.com 二级域名
一般web的端口都是8080 所以默认不输入,访问的是80端口,如果有特殊的,则域名后面加上 :端口
例如:www.baidu.com:7890
域名后面拼接的是服务器存放访问文件的路径 ,如 /web/579.html
? 后接的参数是代码中实现的字段,通过字段传值,实现不一样资源请求内容,如 ?replytocom=22
HTTP发展
版本 | 背景 | 特性 | 场景 |
---|---|---|---|
HTTP/0.9 | 互联网发展初期,对网页的需求较为简单,主要是纯文本内容的传输 | 仅支持 GET 请求,用于获取 HTML 文档。没有请求头和响应头,通信极为简洁。只能传输纯文本内容,不支持多媒体资源 | 早期简单的网页浏览,通常是一些静态的文本页面 |
HTTP/1.0 | 随着互联网的发展,人们对网页的内容和交互性有了更高的要求 | 引入了请求头和响应头,包含了一些基本的元信息,如文档类型、期等支持多种请求方法,如 GET、POST 和 HEAD。但每次请求都需要建立新的 TCP 连接, 传输完成后立即断开,效率较低 | 适用于一些简单的网页浏览和交互场景,但对于包含大量资源的网页,加载速度较慢 |
HTTP/1.1 | 为了解决 HTTP/1.0 连接频繁建立和断开的问题,提高网页加载速度和性能 | 持久连接(Keep-Alive),允许在一个 TCP 连接上发送多个请求和响应,减少连接建立的开销。 管道化(Pipelining)客户端可以在一个连接上连续发送多个请求,但服务器的响应顺序必须与请求顺序一致。 增加了更多的请求方法如 PUT、DELETE、OPTIONS 等。引入缓存控制机制,通过头部字段控制缓存的使用 | 目前广泛应用于大多数网站和 Web 应用程序,是较为成熟和稳定端版本 |
HTTP/2.0 | 随着 Web 应用的日益复杂,用户对网页加载速度和性能的要求越来越高HTTP/1.1 在一些方面存在局限性 | 二进制分帧,将 HTTP 消息分解为更小的帧进行传输,提高传输效率和灵活性多路复用,可在一个连接上同时处理多个请求和响应,无需按顺序发送,提高并发处理能力。 头部压缩,使用 HPACK 算法对头部进行压缩,减少传输的数据量。 服务器推送,服务器可以主动向客户端推送资源,提高页面加载速度 | 对于性能要求较高的现代 web 应用,特别是需要快速加载大量资源的场景 |
HTTP/3.0 | 虽然 HTTP/2 在性能上有了很大提升,但它仍然基于 TCP 协议,而 TCP 在一些情况下可能会出现连接建立时间长、丢包重传效率低等问题 | 基于 QUIC 协议,一种基于 UDP 的传输协议,具有更快的连接建立时间和更好的拥塞控制机制。 0-RTT 连接建立,在某些情况下可以在第一次连接时就开始发送数据,减少延迟 连接迁移,即使网络环境发生变化,连接也可以保持, 在数据传输过程中可以检测和纠正一些错误,减少重传次数,提高传前向纠错,输效率 | 对延迟敏感的应用,如在线游戏、实时视频通信等,以及在网络环境不稳定的情况下,能够提供更好的性能和可靠性。 |
HTTP请求方法
请求方法 | 用途 | 特点 |
---|---|---|
GET | 用于请求指定的资源。这是最常见的请求方法,当你在浏览器中输入网址并访问时,通常会发送 GET 请求 | GET 请求可以被缓存,除非指定了特定的缓存控制头部。 GET 请求的参数通常附加在 URL 中,这使得它们可以被轻松地分享和书签,但也可能会暴露敏感信息,并且有长度限制。 GET 请求是安全的,即它不会对服务器上的资源进行修改 |
POST | 通常用于向服务器提交数据,以创建或更新资源。例如,在提交表单、上传文件等场景中经常使用 | POST 请求的数据通常放在请求体中,而不是 URL 中,因此可以传输更大量的数据,并且相对更安全,不容易暴露敏感信息。 POST 请求一般不会被缓存 |
PUT | 用于更新服务器上的资源,PUT 请求通常会将整个资源进行替换 | 请求是幂等的,即多次发送相同的 PUT 请求应该产生相同的结果。 |
DELETE | 用于删除服务器上的指定资源 | DELETE 请求也是幂等的,多次删除同一个资源应该产生相同的结果,即资源被删除后再次删除不会产生错误 |
HEAD | 与 GET 请求类似,但只返回头部信息,不返回资源的主体内容 | 可以用于检查资源的存在性、获取资源的元信息(如最后修改时间。内容长度等而无需下载整个资源,从而节省带宽和时间 |
OPTIONS | 用于获取服务器支持的 HTTP 请求方法和其他选项 | 客户端可以通过 OPTIONS 请求了解服务器对特定资源的访问权限和支持的操作 |
TRACE | 于诊断和调试,客户端可以发送 TRACE 请求来查看请求在网络中经过的路径 | 通常在开发和测试环境中使用,以了解请求的处理过程 |
HTTP状态响应码
-
1xx响应码
100 contuien 表示表示目前为止一切正常,!客户端可以继续发送请求或者忽略这个响应。一般在客当请求体较大,服务器可能先返回这个状态码,表示可以继续发户端发送 POST 请求时,送请求体
-
2xx响应码
响应码以及状态 含义 200 0K: 最常见的成功状态码,表示请求已成功,服务器已成功返回请求的数据 201Created 表示请求已成功,并在服务器上创建了新的资源。通常在 POST 请求用于创建资源时返回。 204 No Content: 表示请求已成功处理,但没有返回任何内容。通常用于PUT或 DELETE 请求成功后,表示资源已被更新或删除 -
3XX响应码
响应码以及状态 含义 301Moved Permanently 表示请求的资源已被永久移动到新的 URL,客户端应使用新的 URL 进行后续请求 302 Found 表示请求的资源临时被移动到了另一个 URL,客户端应继续使用原有 URL 进行请求,但可以根据响应中的 Location 头部字段进行重定向 304 Not Modified 表示资源未被修改,客户端可以使用缓存的版本。通常在客户端发送条件请求(如带有 -
4xx响应码
响应码以及状态 含义 400 Bad Request 表示客户端发送的请求有语法错误或无法被服务器理解 401 Unauthorized 表示请求需要用户认证,通常是因为客户端没有提供有效的身份验证凭证 403 Forbidden 表示服务器理解请求,但拒绝执行,通常是因为客户端没有足够的权限访问资源 404 Not Found 表示服务器无法找到请求的资源 405 Method Not Allowed 表示请求的方法不被允许,例如使用了不支持的 HTTP 方法请求某个资源 -
5xx响应码
响应码以及状态 | 含义 |
---|---|
500 Internal Server Error | 表示服务器在处理请求时发生了内部错误,通常是服务器端的程序出现了异常 |
502Bad Gateway | 表示作为网关或代理的服务器在尝试执行请求时,从上游服务器接收到无效的响 |
503Service Unavailable | 表示服务器暂时无法处理请求,通常是由于服务器过载或正在进行维护 |
504Gateway Timeout | 表示作为网关或代理的服务器在等待上游服务器响应时超时 |
网络的划分
基于网络的安全访问以及范围可以进行以下划分
-
内网与外网
网络 定义 特点 用途 内网(局域网) 内网通常是指一个组织或机构内部的网络,它的范围相对较小,一般局限于一个办公室、一栋楼或者一个企业园区内 较高的安全性:由于内网与外部网络相对隔离,外部用户难以直接访问内网资源因此内网通常具有较高的安全性。可以通过设置访问控制策略、防火墙等措施来进一步加强安全防护。高效的资源共享:内网中的设备可以方便地共享文件、打印机、数据库等资源提高工作效率。例如,在企业内部,员工可以快速访问共享的文档和数据,进行协作办公
稳定的网络性能:内网的网络性能相对稳定,,因为它的用户数量和流量通常是可控的。可以通过优化网络架构、配置合适的网络设备来确保内网的高速稳定运行企业办公:企业内部的员工可以通过内网进行文件共享、邮件通信、办公自动化等工作。使用企业内部的办公软件进行项目管理、流程审批等。例女口。学校可以建立内网供师生进行教学资源共享、在线学习、考试管理学校教学:学生可以在内网上访问教学课件、等。例如,提交作业,教师可以进行在线批改和成绩管理
医疗机构:医院内部的医疗系统通常运行在内网上,以确保患者信息的安全和医疗业务的稳定进行,例如,医生可以在内网上香看患者病历、开具处方,护士可以进行护外网(广域网) 外网是指连接全球各地的网络,通常由互联网服务提供商(ISP)提供接入服务外网的范围非常广泛,可以覆盖全球各个角落 开放性:外网是开放的,任何人都可以通过合适的方式接入外网,获取各种信息和服务。但这也带来了一定的安全风险,如网络攻击、信息泄露等。媒体、·丰富的鋈源,然殿名拥有潕最的信,积服务资源,里向可别通过撄索乳警、就穿视频等。
动态性:外网的网络环境是动态变化的,网络流量、用户行为等因素都会影响外网的性能和稳定性。因此,外网的服务质量可能会有所波动信息获取:用户可以通过外网获取各种新闻、知识、娱乐等信息。例如,通过搜索引擎查询资料,阅读在线新闻,观看电影和电视剧等。
社交互动:外网提供了各种社交平台,用户可以与朋友、家人、同事等进行交流和互动。例如,使用社交媒体发布动态、分享照片,进行在线聊天和视频通话等。
电子商务:用户可以通过外网进行在线购物、支付等电子商务活动。例如,在网上购买商品、预订旅游服务、缴纳水电费等。
动态性:外网的网络环境是动态变化的,网络流量、用户行为等因素都会影响外网的性能和稳定性。因此外网的服务质量可能会有所波动。
信息获取:用户可以通过外网获取各种新闻、知识、娱乐等信息。例如,通过搜索引擎查询资料,阅读在线新闻,观看电影和电视剧等,
社交互动:外网提供了各种社交平台,用户可以与朋友、家人、同事等进行交流和互动。伪例如,使用社交媒体发布动态、分享照片.,进行在线聊天和视频通话等。
电子商务:用户可以通过外网进行在线购物、支付等电子商务活动。例如,在网上购买商品、预订旅游服务、缴纳水电费等。总结:内外网的划分是为了满足不同的网络需求和安全要求。内网提供了安全、南高效的内总之部资源共享和办公环境,外网则为用户提供了丰富的信息和服务资源。在实际应用中,要根据具体情况合理划分内外网,并采取相应的安全措施来保护网络安全。
-
公网地址与私网地址
定义 | 特点 | 用途 | |
---|---|---|---|
公网地址 | 公网地址也称为全球唯一IP 地址,是由互联网服务提供商(ISP)分配给用户的可以在全球互联网上被唯一识别的地址 | 全球唯一性:公网地址在全球范围内是唯一的,不同的设备不能拥有相同的公网 地址。 可路由性:公网地址可以在互联网上被路由,使得不同网络中的设备可以相互通 信。 有限性:由于IPv4 地址资源有限,公网地址的数量也是有限的。随着互联网的发展,公网地址的需求不断增加,导致公网地址资源日益紧张 | 服务器托管:如果企业或个人需要将自己的服务器托管在数据中心,就需要使用公网地址,以便让全球用户都能够访问到服务器上的服务。网站建设:网站服务器需要公网地址才能被互联网上的用户访问。 远程办公:对于需要远程访问公司内部网络资源的员工,公司可以为其分配公网 地址,以便通过 VPN 等技术实现远程访问。 |
私网地址 | 私网地址也称为本地IP 地址,是在一个组织或机构内部使用的IP地址,不能在全球互联网上被直接访问。 | 可重复使用:私网地址可以在不同的组织或机构内部重复使用,因为它们不会在全球互联网上被路由。灵活性:私网地址的分配可以由组织或机构内部自行管理,具有较高的灵活性安全性:由于私网地址不能在全球互联网上被直接访问,因此可以提高网络的安全性,减少外部攻击的风险 | 企业内部网络:企业可以使用私网地址构建自己的内部网络,实现内部设备之间的通信和资源共享。家庭网络:家庭用户可以使用私网地址构建自己的家庭网络,连接多台设备,如电脑、手机、智能电视等。无线网络:无线接入点(如无线路由器)通常会为连接的设备分配私网地址,以便在家庭或企业内部实现无线网络覆盖 |
常见的私网地址范围包括:
10.0.0.0-10.255.255.255172.16.0.0-172.31.255.255192.168.0.0-192.168.255.255
总结:公网地址和私网地址在网络中都有各自的用途。公网地址用于在全球互联网上进行而私网地址则用于在组织或机构内部构建本地网络。在实际应用中,需要根据具体情况合理分配和使用公网地址和私网地址,以满足不同的网络需求。