网络协议知识点

URL统一资源定位符

Uniform Resource Locator,是一个字符串,格式:protocol://hostname:port/path?query#hash

  • protocol:协议,例如 http,https
  • hostname:主机名。可以是 ip、域名,精准定位计算机
  • port:端口号,如果访问的端口号有程序被监听,则计算机会将到达的网络访问交给对应的程序来处理,http 协议默认端口号 80,https 协议默认端口号 443,精准定位服务器
  • path:用于定位服务,若 path 为 / ,则表示根路径
  • query:一种特殊格式的字符串,该字符串会交给web服务器处理,主要用于向服务器传递一些信息,格式为 属性名 = 属性值 & 属性名 = 属性值
  • hash:一个普通的字符串,在浏览器的地址栏,如果 url 其他位置的信息保持不变,仅变动 hash ,浏览器不会重新访问服务器,因此通常用于不刷新的页面跳转。绝大部分的客户端都不会把hash发送到服务器

注:

  • url 仅支持ASCII字符,非ASCII字符,会被现代浏览器自动进行编码
  • url 地址不能过长,很多浏览器对 url 地址长度是有限的,chrome 对 url 的长度限制为 8182 个ASCII字符

http协议

  • 请求:客户端通过 url地址 发送数据到服务器的过程
  • 响应:服务器收到请求数据后回馈数据给客户端的过程
请求消息格式
  • 请求头 request headers
  • 请求体 request body
    在这里插入图片描述
GET和POST请求的差异
  • GET请求一般没有请求体,POST请求有
  • GET请求的业务数据放在地址中,安全性较差
  • GET请求传递的业务数据数量是有限的,POST是无限的(除非服务器限制)
  • GET请求利于分享页面结果,POST不行
响应数据格式

在浏览器地址栏中输入一个页面地址,按下回车键后发生了什么??
  1. 浏览器将 url 地址补充完整:没有书写协议,添加上协议
  2. 浏览器对 url 地址进行编码:如果 url 地址中出现非 ASCII 字符,浏览器会对其进行编码
  3. 浏览器构造一个没有消息的 GET 请求,发送至服务器,等待服务器的响应,此时浏览器标签页往往会出现一个等待的图标
  4. 服务器接收到请求,将一个 HTML 页面代码组装到消息体中,响应给浏览器
  5. 浏览器拿到服务器的响应后,丢弃掉当前页面,开始渲染消息体的 html 代码,浏览器通过响应头中的 Content-Type 来分辨消息类型
  6. 浏览器在渲染页面的过程中,发现有其他的嵌入资源,如 CSS、JS、图片等
  7. 浏览器使用不阻塞渲染方式,重新向服务器发送对该资源的请求,拿到响应结果后根据 Content-Type 做相应处理
  8. 当所有资源都已下载并处理后,浏览器触发window.onload 事件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值