浅析url

1 ip (Internet protocol)

1.1 约定

  • 如何定位一台设备
  • 如何封装数据报文,跟其他设备交流
    1.2 ip 内网和外网
    1.2.1 内网
    1.2.2 外网
    1.2.3 路由器功能
  • 现在路由器都有两个ip,一个外网ip一个内网ip
  • 内网设备是可以相互访问的,但是不能直接访问外网
  • 内网设备想要访问外网必须经过路由器中转
  • 外网设备可以互相访问,但是无法访问你的内网
  • 外网设备想要把内容送到内网,也必须通过路由器
  • 路由器有时也叫[网关]
    1.2.4 特殊ip
  • 127.0.0.1 表示自己
  • localhost 通过hosts指定自己
  • 0.0.0.0
    1.2.5 ping
    可以通过ping 域名/ip 查询连接

2 端口 port

2.1 port
* 要提供http服务最好使用80端口
* 要提供https服务最好使用403 端口
2.2 规则

  • 0~1023 号端口是留给系统使用的
  • 只要拥有管理员权限后,才能使用1024端口
  • 其他端口可以给普通用户使用
  • 比如http-server默认使用8080端口
  • 一个端口号被占用,就只能换其他端口号

3 域名

  • 一个域名可以对应不同ip
  • 这个叫做均衡负载,防止一台机器扛不住
  • 一个ip可以对应不同域名
  • 这个叫共享主机,穷开发者会这么做
    可以通过nslookup 域名
nslookup baidu.com

在cmd(本人使用的windows系统)查询域名绑定的ip地址


image.png

4 ip和域名

4.1 过程

  • 浏览器会向电信/联通提供的dns服务器询问baidu.com的ip
  • 电/联会回答一个ip
  • 然后浏览器会向对应的ip的80/443端口发请求
    4.2 其他
  • com是顶级域名
  • xiedaimala.com是二级域名
  • www.xiedaimala.com是三级域名
  • xiedaimala.com和www.xiedaimala.com是父子级关系
    4.3 url
    url分为 协议 + 域名 / ip + 端口号 + 请求路径 + 请求参数 + 锚点

5 curl

5.1 用curl发http请求
curl -v http://baidu.com
curl -s -v -- https://www.baidu.com
5.2 理解以下概念

  • url 会被curl工具重写,先请求DNS获得ip
  • 先进行tcp链接, tcp链接成功后,开始发送http请求
  • 请求内容
  • 响应内容
  • 响应结束,关闭tcp连接
  • 结束

6 跨源资源共享(CORS)

6.1 什么是跨域
跨源资源共享 (CORS) (或通俗地译为跨域资源共享)是一种基于HTTP 头的机制,该机制通过允许服务器标示除了它自己以外的其它origin(域,协议和端口),这样浏览器可以访问加载这些资源。
6.2 跨域问题
出于安全性,浏览器限制脚本内发起的跨源HTTP请求。 例如,XMLHttpRequest和Fetch API遵循同源策略。 这意味着使用这些API的Web应用程序只能从加载应用程序的同一个域请求HTTP资源,除非响应报文包含了正确CORS响应头。
6.3 解决方法
跨源域资源共享( CORS )机制允许 Web 应用服务器进行跨源访问控制,从而使跨源数据传输得以安全进行。现代浏览器支持在 API 容器中(例如 XMLHttpRequest 或 Fetch )使用 CORS,以降低跨源 HTTP 请求所带来的风险。

你可能感兴趣的:(浅析url)