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

发布时间 - 2025-06-25 00:00:00    点击率:

前言: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用&连接。

1.3URL-Decode,URL-Encode当我们查询一些特殊字符时,会对这些字符进行编码。

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

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


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

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

请求行包含:

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

请求方法包括GET、POST等。

响应行:

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

2.3http版本的直接区别:目前使用的http版本包括1.0、1.1和2.0。现在主要使用的是1.1或2.0。

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;};

---

3.telnet命令:主机名和IP地址:表示要连接的远程IP地址。

端口号表示要连接的端口号,如果不指定,默认是23(telnet服务的标准端口)。

  1. 测试网络服务telnet命令可以用来测试各种网络服务是否正常运行。例如,测试HTTP服务是否正常:

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

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

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


然后查看服务器的响应。

  1. 远程登录虽然现代网络中更推荐使用ssh(更安全),但telnet仍然可以用于远程登录到某些旧系统:

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

  1. 调试网络问题telnet可以用来检查网络连接是否正常。例如,检查是否可以连接到某个端口:

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

如果连接失败,可能表示网络问题或目标端口未开放。


# linux  # 浏览器  # 工具  # 百度  # 网络编程  # 区别  # 网络问题  # JavaScript  # String  # Resource  # include  # const  # 字符串  # bool  # int  # void  # using  # class  # public  # private  # Namespace  # this  # ASCII  # 算法  # http  # https  # ssl  # 加密算法  # 客户端  # 的是  # 端口号  # 它是  # 不被  # 连接到  # 可以用来  # 过程中  # 远程登录  # 在这个 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 深圳网站制作的公司有哪些,dido官方网站?  Laravel怎么实现支付功能_Laravel集成支付宝微信支付  网站优化排名时,需要考虑哪些问题呢?  js实现点击每个li节点,都弹出其文本值及修改  iOS验证手机号的正则表达式  Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧  Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道  VIVO手机上del键无效OnKeyListener不响应的原因及解决方法  佛山网站制作系统,佛山企业变更地址网上办理步骤?  Laravel如何与Pusher实现实时通信?(WebSocket示例)  宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法  Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程  Android使用GridView实现日历的简单功能  Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】  轻松掌握MySQL函数中的last_insert_id()  如何快速生成橙子建站落地页链接?  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  使用C语言编写圣诞表白程序  如何获取免费开源的自助建站系统源码?  JavaScript中的标签模板是什么_它如何扩展字符串功能  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南  Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门  Linux网络带宽限制_tc配置实践解析【教程】  ,交易猫的商品怎么发布到网站上去?  如何在橙子建站中快速调整背景颜色?  如何用已有域名快速搭建网站?  Edge浏览器如何截图和滚动截图_微软Edge网页捕获功能使用教程【技巧】  Laravel如何实现多对多模型关联?(Eloquent教程)  Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势  如何在阿里云虚拟服务器快速搭建网站?  微信小程序 闭包写法详细介绍  Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  在线教育网站制作平台,山西立德教育官网?  Laravel的契約(Contracts)是什么_深入理解Laravel Contracts与依赖倒置  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】  实例解析angularjs的filter过滤器  Laravel队列任务超时怎么办_Laravel Queue Timeout设置详解  如何挑选最适合建站的高性能VPS主机?  如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】  Windows Hello人脸识别突然无法使用  安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  如何快速上传自定义模板至建站之星?  HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】  php 三元运算符实例详细介绍  QQ浏览器网页版登录入口 个人中心在线进入