目录
🚩DNS应用层协议(域名解析系统)
使用IP地址,来描述设备在网络上的位置,这种不适合进行宣传,比如https://www.csdn.net/
引入了”域名“这样的方式来解决上述问题(域名就是单词,表示了实际意义)。
需要有一套自动的系统,把域名翻译成IP地址(域名和IP想象成一组键值对)
假如的IP地址是192.168.1.0 对应的域名是 www.xxx.com。是属于一组键值对关系。
如果你想要访问某个域名,就先给这个DNS服务器发起请求,查询一下当前域名对应的ip,然后再访问目标网站。后续域名的更新,只需要更新这一组指定的服务器即可,不需要修改每个用户电脑的hosts。
🚩HTTP协议
HTTP (全称为 "超文本传输协议") 是一种应用非常广泛的 应用层协议.
🎈理解 "应用层协议"
🎈理解 HTTP 协议的工作过程
当我们在浏览器中输入一个 " 网址 ", 此时浏览器就会给对应的服务器发送一个 HTTP 请求 . 对方服务器收到这个请求之后, 经过计算处理 , 就会返回一个 HTTP 响应 .
🎈HTTP 协议格式
HTTP 是一个文本格式的协议 . 可以通过 Chrome 开发者工具或者 Fiddler 抓包 , 分析 HTTP 请求 / 响应的细节.
👩🏻💻抓包工具的使用
Fiddler把网卡上经过的数据,获取到,并显示出来。(专门抓HTTP的抓包工具)
fiddler打开之后,是一个左右结构的程序,左侧有一个列表,列出了抓到的包有哪些,右侧则是包的详情,点击某个包。新安装的fiddler需要手动开启HTTPS功能,并且安装证书(否则只能抓http),当前互联网环境上,HTTPS为主,纯HTTP非常少见了。
👩🏻💻抓包工具的原理
Fiddler本质上是一个“代理”,可能会和其他的代理软件冲突
👩🏻💻HTTP报头的请求和响应
🎓请求
🎓响应
👩🏻💻HTTP 请求 (Request)
🎓认识URL
💻URL 基本格式
💻关于 URL encode
🎓认识方法(method)
💻 GET 方法和POST 方法
💻POST和GET方法的区别
🎓认识header
header里面的关键字比较多,我们主要挑重要的说。
💻Referer
Referer描述了当前页面是从哪个页面跳转来的。
如果直接在地址栏输入url(或者点击收藏夹中的按钮)都是没有Referer
💻Cookie
Cookie 中存储了一个字符串 , 这个数据可能是客户端 ( 网页 ) 自行通过 JS 写入的 , 也可能来自于服务器 ( 服务器在 HTTP 响应的 header 中通过 Set-Cookie 字段给浏览器返回数据 ).
往往可以通过这个字段实现 " 身份标识 " 的功能
浏览器的数据来自于服务器,浏览器后续的操作,也是要提交给服务器的。服务器这边管理了一个网站的各种核心数据,但是程序运行过程中,也会有一些数据,需要在浏览器这边存储的,并且后续请求的时候数据可能需要再发给服务器。(上次登陆时间,上次访问时间,用户的身份信息,累计访问次数....)这些临时性数据存储在浏览器比较合适的。
实际上更容易想到的是,把这样的数据直接存储到本地文件中,但是实际上是不可行的,浏览器为了考虑到安全性,禁止网页直接访问你的电脑文件系统,网页代码中也就无法直接生成一个硬盘的文件来存储数据了。
为了保证安全性,又能进行存储数据 ,于是引入了Cookie(也是按照硬盘文件的方式保存的,但是浏览器把操作文件给封装了)网页只能往Cookie存储键值对。
👩🏻💻HTTP响应
🎓认识 "状态码" (status code)
状态码表示访问一个页面的结果. (是访问成功, 还是失败, 还是其他的一些情况...).
以下为常见的状态码 .
👩🏻💻构造HTTP请求
构造HTTP请求的简单方法是,用第三方工具 ,图形化界面。POSTMAN