欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 新车 > url和http

url和http

2025/4/24 8:31:06 来源:https://blog.csdn.net/An15294874732/article/details/147381350  浏览:    关键词:url和http

URI :Uniform Resource Identifier,统一资源标识符;

URL:Uniform Resource Locator,统一资源定位符;

URN:Uniform Resource Name,统一资源名称。

URI 属于父类,而 URL和URN 属于 URI 的子类

url结构

https://www.example.com:8080/path/to/resource?search=test#section1

  • 协议https
  • 域名(IP)www.example.com
  • 端口8080
  • 路径/path/to/resource
  • 查询字符串search=test
  • 片段标识符#section1

域名可通过DNS来转换成IP,明确协议后端口可以省略,一般都是固定端口,片段标识符是用来实现网页内跳转的

我们在浏览器中输入url并处理成http报文,这时ip和端口就明确了,在向下的传输层和网络层交付过程中,会在ip报头和tcp报头中添加ip和port字段,所以http报头中请求行的url的协议和域名经常去掉,最后只留路径和查询字符串

浏览器中输入一个url的时候,填充字符可能会破坏url的结构,所以要对其进行编码,将其ascill码转换成十六进制%XX的形式。在查询字符串中,由于历史原因我们一般将空格编码为+,而在路径中并不这样编码

?:用于分隔路径和查询参数等。

=用于表示查询参数中的键值对。

&符号用于分隔查询多个键值对。

MIME(Multipurpose Internet Mail Extensions)

用于表明文件类型

MIME 类型由两部分组成:

  • 主类型(Type):如 textimageaudiovideo 等。
  • 子类型(Subtype):具体的文件类型或格式,如 plainhtmljpegmp3 等。

text/html 就是html的文本文件

浏览器访问的过程

  1. 用户输入 URL: 当你在浏览器地址栏输入一个 URL 时,比如 http://example.com/hello world/,浏览器会检测到这个 URL 是否包含任何需要编码的字符。

    • 空格( 特殊字符(如 #&? 等)可能需要编码成 %20 或其他编码形式,以确保它们不会干扰 URL 的语法结构。
  2. URL 编码: 浏览器会对输入的 URL 进行自动编码。比如:

    • http://example.com/hello world/ 会被编码成 http://example.com/hello%20world/

    这个编码过程是在浏览器的前端(即客户端)完成的。

  3. 构造完整的 HTTP 请求: 浏览器随后将编码后的 URL 作为http报头请求行的一部分。

  4. 发送 HTTP 请求: 浏览器将该编码后的 URL 与其他必要的请求头(如 User-AgentAccept 等)一起构成完整的 HTTP 请求,并发送给服务器。

    • 请求头是不需要什么编码的,也跟url扯不上什么关系

  • GET 请求:数据在 URL 查询字符串 中(例如 ?key=value)。
  • POST 请求:数据在 请求正文 中,通常更适合传输较多或敏感的数据。

    

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词