base1-http理论

http理论基础

引题

浏览器地址栏输入www.baidu.com,网页就呈现在我们眼前。网址前有http协议前缀。

TCP/IP

讲http之前,需要了解TCP/IP。
协议:不同硬件、系统相互通信,需要事先定义探测目的地、发信语言、结束通信等一套规则。

包含协议

TCP/IP: 它是一系列协议构成的协议族。
包含:HTTP(hyper text transform protocol超文本传输协议),DNS、TCP、UDP、IP。
ICMP、SAMP(邮件传输协议)
PPPoE(账号上网登录) TCP(文件传输)

(了解)分层

为了更清楚方便研究TCPIP,人们提出分层。
从底到上,

  1. 链路层: 物理上的我们的电脑主板、网卡 硬件。
  2. 网络层: 世界上各个电脑,路由器,组成的网络。作用 选择信息传递线路、传递信息。
  3. 传输层: 电脑信息编码成网线光纤理解的电信号、光信号、再加上IP地址等信息。作用 信息传递。
    这一层上的两个主要协议 TCP UDP。
  4. 应用层: 最终查看信息的客户端软件。例如浏览器、QQ邮箱、游戏客户端。这一层主要协议 HTTP、SAMP。

ip和mac地址

ip:表示网络上的地址。就好像租房住址,哪条街几号。可能会变。形如 192.168.210.17
mac地址: 表示物理地址。电脑网卡地址。全球唯一,好像指纹。形如 3e-00-2d-00-01-01

数据传输(大体)

客户端(个人电脑)-路由1(屋子里的路由器)中转-路由2(省内路由)中转 - 路由3 … - 服务端(淘宝服务器)。 ip地址解析成mac地址用的ARP协议。

TCP协议

TCP协议作用,保证数据正确地传输。
引题:
小明(客户端)问:“小王,你在吗,帮我带份饭”
小王(服务端)答:“我在,好的”
小明回复:“谢谢,回头见”

三次握手:

  1. 客户端 向服务端发 数据和SYN握手标识
  2. 服务接收数据,向客户端返回 数据和SYN/ACK 标识
  3. 客户端 接收服务端数据,最后想服务端发送ACK标识。通信结束。
    如果其中某一步失败,客户端会重新发起三次握手。

TCP和UDP区别:TPC比较可靠,http基于TCP。UDP不太可靠但速度快,场景视频传输。

(了解)DNS协议

DNS协议负责的是 域名转ip地址(域名解析)。
域名(domain):就是平时所说的网址。形如 www.baidu.comnews.163.com
域名跟ip地址相比较:ip地址好像身份证号,域名好像名字一样 方便好记。
以太网(ethernet 局域网) < 城域网 < 互联网(internet)

流程

访问域名www.1owo.com → DNS服务器DNS协议把 域名转换成ip 47.95.227.xxx → 继续传输。

(了解)hosts

电脑上的hosts文件也是 域名转ip映射,但是比DNS服务器优先级高。作用是 不用每次访问网页时 走DNS服务,提高网页访问速度。
一个小应用场景是破解软件,pycharm会请求官方服务器查询激活码是否正版,修改hosts后,把官方服务器指向错误的ip地址,这样软件就无法验证是否正版了。

##(课下)IP
ip地址 :分成几大类? ipv4 构成 ? 子网掩码?localhost是什么? 192.168局域网可以有多少台机器?ipv6?网关?
端口(port):比喻一,ip地址好比房子在哪条街几号,我们在经开十六街的智游大厦。端口好比310教室。
比喻二,ip好比社保局,端口号好比不同作用的办事窗口,有的窗口医疗保险,有的失业保险。
ip定位到计算机,但计算机还有很多服务,比如上网、邮件、蓝牙、输出法等等,所以给每个服务分配一个
窗口,也就是端口号。
1024以下端口号约定俗成:80 http,443 https, 22 远程登录, 23 FTP, 25 邮件服务。
子网掩码:
网关:

(课下)配置和查看电脑ip地址相关信息

桌面右下网络图标/右键查看网络和共享中心/更改适配器设置 查看配置ip

上面几种协议如何协作

  1. 客户端请求:浏览器访问网址 www.baidu.com
  2. DNS:找到网址对应的 IP地址 48.xx.220.xxx
  3. HTTP:请求的目的地+请求的内容等 按照HTTP协议格式把内容组装成HTTP报文。
  4. TCP: HTTP报文拆装成多个TCP报文,TCP报文按照三次握手可靠地传输。 (课下)了解TCP报文结构。
  5. IP:网络传输过程中 选择路径、进行中转。
  6. 服务端接收到了多个TCP报文。
  7. 服务端把接收到的TCP报文合并了http报文。读取到了信息。

服务端接收信息并返回资源客户端,过程跟上面步骤一致。

URI

网址构成: 例如 https://www.1owo.com/index.html?page=1
https 协议, www.1owo.com 域名,index.html 目录文件 ,?page=1 参数。
URI(uniform resource identifier):统一资源标识符,表示网络上的各个资源位置。
URI跟URL的关系:URI包含URL,URL(link)可以访问。一张图片在硬盘上路径是URI,放到网上可供访问URL。

(重点)HTTP

请求(request): 客户端请求服务器资源
响应(response): 服务器返回资源给客户端

请求类型

  • GET: 获取资源。平时上网绝大部分使用的是GET方法。
  • POST: 携带一些信息到服务器。场景 提交用户注册的用户名密码等信息。
    (下面几种了解)
  • PUT: 传文件
  • DELETE:删除资源
  • OPTION:
  • HEAD:

GET和POST比较:相似点,都可以携带一些请求信息。
不同点:1.get可以看到完整带参数url ,post看不到。
2.get场景 请求资源,参数不要安全性;post的参数看不到,比较安全,例如传递用户注册的表单密码。
3.get的url长度有限制,post无。
(课下阅读)https://www.cnblogs.com/logsharing/p/8448446.html

状态码

状态码作用看http请求有没有成功。

  • 200: 请求成功。
  • 302: 重定向
  • 403: 没有权限访问
  • 404: 没有找到资源。
  • 500: 网关错误
  • 502: 内部程序错误。

session cookie

http是无状态的。
引题:我们登录淘宝网站。

  1. 客户端填写用户名和密码
  2. post请求服务器
  3. 服务器接收传来的用户名密码, 并查询数据库比对。正确的话,返回 会话标识符(session_id=‘xxwweifjefFWEF’)
  4. 客户端把session_id存到cookie(比方是浏览器自带的小数据库)当中
  5. 之后客户端发http请求,每次都会带上cookie
  6. 这样服务器就可以通过比对session_id判断用户是否已经登录。
    session和cookie区别:session抽象概念 会话;cookie是浏览器存储变量的工具。

https

http协议本身没有加密,可以通过开发者工具看到源代码,可能被攻击。
(课下)网站常见攻击方式有哪些XSS、中间人、dos。
所以人们就改近,发数据包之前,TLS SSL进行加密,传输到目的地之后在解密。
(课下)常见加密算法。
(课下)证书?
这就是https(secure)。

代理

中国ip无法访问谷歌网站。
解决:你的电脑 → 香港服务器 → 谷歌网站
代理:香港的电脑代替你的电脑访问谷歌,这个过程叫代理。
代理认证:香港服务器有个用户名和密码,你的电脑经过认证才能连接到香港电脑。
用途:切换大量ip去爬取网站信息,防止被封ip。科学上网。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值