首页 > 其他分享 >关于http-https的URL格式-及URL-Encode-基本格式分析

关于http-https的URL格式-及URL-Encode-基本格式分析

时间:2023-09-30 11:02:29浏览次数:39  
标签:http URL 首部 键值 https query 格式

关于http,https 的协议格式,在很多资料上看到,基URL格式的如下:

shceme://username:password@host:port/path;params?query#frag

params:
key=value&key2=value2

query(前面的资源可能会有SQL的where语句,一般就使用这里query):
field=value&field=value2

frag: 锚定一个大的网页的不同的位置

对于params,笔者在实际中几乎是没有看到过,更多的是看到query格式,于是先记录于此,有时间再做研究

因此笔者可能看到的最为常见的格式如下:

httpORhttps://username:[email protected]:port/dir/index.html?key1=value1&key2=value2#frag01

带层次的文件(PATH路径):表示访问服务器某应用程序中的具体资源

查询字符串(query string):这是客户端给服务器传递的参数,键值对结构,键和值之间用=分割,每个键值对之间用&分割

其中的键和值都是由程序员进行定义的,因此可以有该参数,也可以没有,在开发 web 程序的过程中扮演着重要角色

 

片段标识:用于页面内的跳转,通过该标识可以跳到文档的不同位置

关于URL encode 

当我们在百度中搜索关键字时,会发现query string 中的第一个键值对wd的值就是此次搜索查询的内容

有时会看到%20这样的内容,其实这个是代表的空格,这是因为URL中有着很多有特殊含义的符号

为了避免query string中出现这些特殊符号,导致格式错误,就需要对其中的符号进行转义,这样转义的过程就叫 URL encode

转义的方法就是直接取当前需要被转义的字符串的内存十六进制形式

如果复制出来,可以发现每个字节前加上%,如果使用的是UTF-8编码,汉字需要用3个字节进行表示,如锚定会显示成:%E9%94%9A%E5%AE%9A

关于utf-8编码汉字,转十六进制,笔者发现可以使用这个网址在线转换:https://lzltool.cn/Tools/Utf8ToHex

关于HTTP的基本格式

可以有零个或者多个首部,每个首部都包含一个名字,后面跟着一个冒号:,然后是一个可选的空格,接着是一个值,最后是一个CRLF(回车或者换行)。

首部是由一个空行(CRLF)结束的,表示了首部列表的结束和实体主体部分的开始

有些HTTP版本,比如HTTP/1.1 ,要求有效的请求或响应报文中必须包含特定的首部

 

 

尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/17737659.html

 

标签:http,URL,首部,键值,https,query,格式
From: https://www.cnblogs.com/5201351/p/17737659.html

相关文章

  • kitti彩色地图拼接<一>、点云bin格式转为pcd格式
      下面是bin格式转pcd格式批量处理代码,其中品红色是需要改成你的实际情况的地方。cpp:【note:代码中,pcd文件的路径改为你自己的】1#include<boost/program_options.hpp>2#include<pcl/point_types.h>3#include<pcl/io/pcd_io.h>4#include<pcl/common/point_ope......
  • 解析pcap格式点云数据包
    1、多BB一句,不想写代码,就去速腾的驱动中复制粘贴。2、问别人的时候,应该问有没有128线速腾雷达数据帧格式资料(每个字段的意义),工具对应读取数据那一块源码能否给出来。 激光雷达每一帧的数据长度固定为1248字节,前42字节的前数据包标识、12组数据包、4字节时间戳和最后两字节雷达......
  • Go每日一库之183:vegeta(http压力测试工具库)
    项目地址:https://github.com/tsenart/vegetahttps://mp.weixin.qq.com/s/J0PiqTifr_rs_S2CzMRoWg......
  • ​​pandas.get_dummies()​​ 是一个用于执行独热编码(One-Hot Encoding)的 pandas 函
    pandas.get_dummies()是一个用于执行独热编码(One-HotEncoding)的pandas函数。它用于将分类(或离散)特征转换为模型可以处理的二进制格式,以便更好地在机器学习算法中使用。独热编码将每个不同的类别值转换为一个新的二进制特征列,其中每个列代表一个类别,并且只有一个值为1,其余为0......
  • 抽象CurrentUser适配Http和Job场景
    前言获取当前请求用户的基础信息是很常见的,诸如当前用户Id,角色,有无访问权限等。通常我们可以直接使用HttpContext.User来拿到当前经过认证后的请求人信息。但是这样对于分层应用不太友好,需要安装AspNetCore.Http.Abstractions的包,这样对于这层(非Web层)来讲也有所侵入了。Curren......
  • Http-02
    三、HTTP请求3.1HTTP请求数据格式GET请求POST请求字符串格式://请求行POST/login.htmlHTTP/1.1//请求头Host:localhostUser-Agent:Mozilla/5.0(WindowsNT6.1;Win64;x64;rv:60.0)Gecko/20100101Firefox/60.0Accept:text/html,......
  • FastAPI学习-22.response 异常处理 HTTPException
    前言某些情况下,需要向客户端返回错误提示。这里所谓的客户端包括前端浏览器、其他应用程序、物联网设备等。需要向客户端返回错误提示的场景主要如下:客户端没有执行操作的权限客户端没有访问资源的权限客户端要访问的项目不存在等等...遇到这些情况时,通常要返回 4XX(40......
  • Begin of HTTP
    打开 GETget方式上传,直接在网址栏上传即可 POST先找到secret,一般藏在网页前端代码里  解码得 得F12,用hackbar上传   Cookie 直接点击cookie,把他改成ctfer即  User-Agent 直接点击user-agent然后改变浏览器直接上传,注意此处不能有中文 ......
  • 熟悉HTTPS
    Q1: 什么是HTTPS?BS: HTTPS是安全的HTTPHTTP协议中的内容都是明文传输,HTTPS的目的是将这些内容加密,确保信息传输安全。最后一个字母S指的是SSL/TLS协议,它位于HTTP协议与TCP/IP协议中间。Q2: 你说的信息传输安全是什么意思BS: 信息传输的安全有三个方面:1、客户端和......
  • 通过IPsec网络客户端无法访问服务器https
    参考:https://www.cnblogs.com/lilinwei340/p/13021864.htmlhttps://www.cnblogs.com/bulh/articles/13321437.htmlhttps://help.aliyun.com/document_detail/119749.html#:~:text=%E5%9C%A8%E9%80%9A%E8%BF%87IPsec-VPN%E8%BF%9E%E6%8E%A5%E4%BC%A0%E8%BE%93TCP%E6%B5%81%E9%87......