首页 > 运维 > linux运维 > 正文

【Linux网络编程】:URL(encode),HTTP协议,telnet工具

看不見的法師
发布: 2025-06-25 12:26:01
原创
718人浏览过

前言:1.url1.1概念解释

URL:Uniform Resource Locator(统一资源定位器)。

URL是互联网上用于标识特定资源的地址。它是一种标准的网络地址格式,用于指示网络资源的位置和访问方法。

因此,URL帮助我们定位我们所需资源的位置(在哪里),以及如何访问这些资源(如何做)。

例如:

以下是百度的网址,直接在浏览器中输入此地址即可访问百度。

1.2基本格式:scheme:表示协议类型。如:http,https。

host:表示服务器域名或IP地址。

port:表示端口号,http默认使用80端口,https默认使用443端口。现在大多数情况下不显示,访问时浏览器会自动补充。

path:表示资源的路径,指定要访问的服务器上的具体资源。注意:/不一定表示根目录,而是web的根目录。

query:查询字符串,向服务器传递参数。它是一对一对的key=value,多个key=value用&连接。

【Linux网络编程】:URL(encode),HTTP协议,telnet工具1.3URL-Decode,URL-Encode当我们查询一些特殊字符时,会对这些字符进行编码。

解码的方法是:根据ASCII码表,将其转换为16进制,然后加上百分号%。

1.4URL-encode工具:点击这里:


2.HTTP协议2.1https与http现在我们看到的大多数是https,而https是从http发展而来的,https更为安全。在这个信息时代,确保信息的安全性非常重要。

数据加密:通过SSL/TLS加密数据,确保数据在传输过程中不被窃取。身份验证:通过数字证书验证服务器的身份,确保客户端连接到的是正确的服务器。完整性保护:通过加密算法确保数据在传输过程中不被篡改。客户端发起HTTPS请求。服务器发送SSL/TLS证书。客户端验证证书的有效性。客户端和服务器协商加密算法和密钥。客户端和服务器通过加密通道进行数据传输。【Linux网络编程】:URL(encode),HTTP协议,telnet工具2.2http的宏观格式:http有请求模式和响应模式,这两个的格式基本相似,但第一行有所不同。

请求行包含:

1.请求方法。2.URI。3.http版本。

请求方法包括GET、POST等。

响应行:

1.http版本。2.错误码。3.错误描述。

【Linux网络编程】:URL(encode),HTTP协议,telnet工具【Linux网络编程】:URL(encode),HTTP协议,telnet工具2.3http版本的直接区别:目前使用的http版本包括1.0、1.1和2.0。现在主要使用的是1.1或2.0。

【Linux网络编程】:URL(encode),HTTP协议,telnet工具 HTTP/1.0:简单但性能低,适合早期的静态网页。 HTTP/1.1:解决了HTTP/1.0的许多性能问题,引入了持久连接和内容压缩等功能,是目前广泛使用的版本。 HTTP/2:在性能和功能上进行了重大改进,通过多路复用、头部压缩和服务器推送等技术,显著提高了传输效率和用户体验。 2.4实例代码:代码语言:javascript代码运行次数:0运行复制```javascript

pragma once#include #include #include #include #include #include #include "TcpServer.hpp"using namespace TcpServerModule;class HttpServer{ const std::string sep = "\r\n"; const std::string blank_line = "\r\n";public: HttpServer(int port) : _tsvr(std::make_unique(port)) { } void Start() { _tsvr->InitServer([this](SockPtr sockfd, InetAddr client) { return this->HandlerHttpRequest(sockfd, client); }); _tsvr->Loop(); } // 处理http的方法 bool HandlerHttpRequest(SockPtr sockfd, InetAddr client) { LOG(LogLevel::DEBUG) Fd() Recv(&s); std::cout Send(httpresponse); return true; } ~HttpServer() {}private: std::unique_ptr _tsvr;};

---
<p>3.telnet命令:主机名和IP地址:表示要连接的远程IP地址。</p><p>端口号表示要连接的端口号,如果不指定,默认是23(telnet服务的标准端口)。</p><ol><li>测试网络服务telnet命令可以用来测试各种网络服务是否正常运行。例如,测试HTTP服务是否正常:</li></ol><p>代码语言:javascript代码运行次数:0<svg fill="none" height="16" viewbox="0 0 16 16" width="16" xmlns="<a href="https://www.php.cn/link/c9041cfd2a40932691855abd98fd219a">http://www.w3.org/2000/svg"><path</a> d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg fill="none" height="16" viewbox="0 0 16 16" width="16" xmlns="<a href="https://www.php.cn/link/c9041cfd2a40932691855abd98fd219a">http://www.w3.org/2000/svg"><path</a> clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor" fill-rule="evenodd"></path></svg>复制javascript telnet example.com 80</code>
登录后复制

连接成功后,可以手动输入HTTP请求:

代码语言:javascript代码运行次数:0运行复制javascript GET / HTTP/1.1Host: example.com

然后查看服务器的响应。</p><ol start="2"><li>远程登录虽然现代网络中更推荐使用ssh(更安全),但telnet仍然可以用于远程登录到某些旧系统:</li></ol><p>代码语言:javascript代码运行次数:0<svg fill="none" height="16" viewbox="0 0 16 16" width="16" xmlns="<a href="https://www.php.cn/link/c9041cfd2a40932691855abd98fd219a">http://www.w3.org/2000/svg"><path</a> d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg fill="none" height="16" viewbox="0 0 16 16" width="16" xmlns="<a href="https://www.php.cn/link/c9041cfd2a40932691855abd98fd219a">http://www.w3.org/2000/svg"><path</a> clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor" fill-rule="evenodd"></path></svg>复制javascript telnet example.com</code>
登录后复制
  1. 调试网络问题telnet可以用来检查网络连接是否正常。例如,检查是否可以连接到某个端口:

代码语言:javascript代码运行次数:0运行复制javascript telnet example.com 25

</p><p>如果连接失败,可能表示网络问题或目标端口未开放。
登录后复制

以上就是【Linux网络编程】:URL(encode),HTTP协议,telnet工具的详细内容,更多请关注php中文网其它相关文章!

豆包AI编程
豆包AI编程

智能代码生成与优化,高效提升开发速度与质量!

下载
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号