HTTP,URL相关入门
www = URL + HTTP + HTML
HTTP (HyperText Transfer Protocol) 超文本传输协议
1.几个特殊的IP
127.0.0.1 表示自己
localhost 通过hosts指定为自己
0.0.0.0 不表示任何设备
hosts 文件位置: c:\windows\system32\drivers\etc\hosts
Hosts文件主要作用是定义IP地址和主机名的映射关系,是一个映射IP地址和主机名的规定。可以用文本文件打开!当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,浏览器会立即打开对应网页,如果没有找到,则浏览器会将网址提交DNS服务器进行IP地址解析。这也是提高快速打开网页的方法!
2.端口
概念: 一台机器可以提供很多服务 ,每个服务一个号码,这个号码就叫端口号port
一台机器可以提供不同的服务
要提供HTTP服务最好使用80端口
要提供HTTPS服务最好使用443端口
要提供FTP服务最好使用21端口
一共有65535个端口
规则
0到1023 (2的10次方减1)号端口是留给系统使用的
你只有拥有了管理员权限后,才能使用这1024个端口
其他端口可以给普通用户使用
比如http-server 默认使用8080端口
一个端口如果被占用,你就只能换一个端口
3.域名
qq.com
域名起始就是对于IP的别名
查看对应域名的IP
- 命令行中 ping 想查看的域名
知识点
—个域名可以对应不同IP
这个叫做均衡负载,防止一台机器扛不住
一个IP可以对应不同域名
这个叫做共享主机,穷开发者会这么做
4.DNS (Domain Name Server) 域名服务
负责把域名和IP联系起来
DNS:全称是Domain Name Server,互联网bai上du的服务器是通过zhiip地址进行识别的,而daoip地址是由一组枯zhuan燥且没有任何意义的shu数字组成,不便于人们记忆,后来便出现了便于记忆的域名,通过域名和ip地址的对应关系实现了寻址,DNS的作用就在于将便于人们记忆的域名解析成INTERNET可以识别的ip地址。
当你输入 baidu.com
过程
你的Chrome浏览器会向电信/联通提供的 DNS服务器询问baidu.com 对应什么IP
电信/联通会回答一个IP(具体过程很复杂,不研究)
然后Chrome才会想对应IP的80/443端口发送请求
请求内容是查看xiedaimala.com的首页
为什么是80或443 端口
服务器默认用80提供 http 服务
服务器默认用443提供 https服务
你可以在开发者工具里看到具体的端口
5.如何请求不同的页面
使用路径:
https://developer.mozilla.org/zh-CN/docs/Web/HTML
https://developer.mozilla.org/zh-CN/docs/Web/Css
同一个页面的不同内容
通过查询参数可以做到
同意页面内容的不同位置
锚点可以做到
注意:
锚点看起来有中文,实际不支持中文
/#参考书会变成 #%E5%8F%82%E8%80%83%E4%B9%A6
锚点是无法在Network面板看到的
因为锚点不会传给服务器
6.URL
举个例子:
( 图片来自饥人谷 )
没写端口是因为默认HTTPS为443端口
URL = 协议 + 域名或IP + 端口号 + 路径 + 查询字符串 + 锚点
7.curl 命令
用curl可以发HTTP请求
-
curl -v http://baidu.com 显示详细内容
- curl -s -v -- https://www.baidu.com
curl须知 :
url会被cur工具重写,先请求 DNS获得IP
先进行TCP连接,TCP连接成功后,开始发送HTTP请求
请求内容看一眼
响应内容看一眼
相应结束后,关闭TCP链接(这步看不到)
真正结束