HTTP协议

1 URL: 统一资源定位符. 简单点就是 网址 = ip或域名+ 端口号 + 资源位置 + 参数 + 锚点.

(1) DNS 的方式: http:// 域名 / 服务路径?k1=v1&k2=v2
域名如果不加端口 的话, http请求 默认为80端口.
DNS域名解析技术. 域名 转换为 IP. (每个 IP地址 都可以有一个 主机名, 通过 主机名得到该主机对应 IP地址 的过程叫域名解析).
请求数据QueryString是 区分大小 写的 (如果其中包含 中文 空格等特殊字符, 浏览器以 http协议 封装数据时会将 url自动编码 为 ascii编码 的格式,url长度是有限的)
(2) IP 的方式: http:// ip:port / 服务路径?k1=v1&k2=v2

2 HTTP协议(超文本传输协议), 位于 应用层. 是 浏览器 和 服务器 之间进行 “沟通” 的一种规范.
HTTP协议 封装后的 数据报格式:
Request: 请求行 请求头 空行 请求正文(请求体)
Response: 状态行 响应头 空行 响应正文(响应体)
注意: 请求行和响应行都是 一行,请求头/响应头的数量都是动态的. 请求正文可以为任意编码格式.
在这里插入图片描述
3 常见的请求方法: GET 和 POST. 还有 HEAD, PUT 等等.

(1) GET 是从服务器上 获得资源, POST 是向服务器 提交数据.
(2) GET 查询字符串(键值对)被附加在 URL地址后面一起发送到服务器. POST 查询字符串信息 和HTTP请求体一起发送到服务器.

(3) GET 传输的数据要受到 URL长度限制(2048个字符), POST 可以传输 大量的数据(上传文件).
(4) GET 参数会 显示在地址栏上, 安全性差. POST 安全性高, 适用于敏感数据.

4 常见 Header (包括 请求头 和 响应头).
Content-Type: 数据类型.
Content-Length: Body 的长度
Host: 服务器的 IP地址 或者 域名.
referer: 当前页面是 从哪个页面跳转过来的;
location: 告诉 客户端接下来要去哪里访问;
Cookie: 用于在 客户端存储少量信息.

5 状态码:
1×× 服务器收到请求, 需要请求者 继续执行操作
2××
200 成功接收数据并处理
202 服务器 已接受请求, 但尚未处理.
3××
301 重定向 (redirect): 两次请求. 请求的资源已被 永久移动 到新的URL, 返回信息是 新的URL. 效率低.
302 转发 (forword): 一次请求. 与301类似,只是资源被 临时移动, 客户端继续使用 原有URL. 效率高.
304 Not Modified. 自从上次请求后, 请求的网页 未修改过, 会缓存访问过的资源.
4××
400 无效的请求.
401 请求需要进行验证.
403 Forbidden 服务器 拒绝执行此请求.
404 Not Found 请求的页面不存在或被删除了.
405 请求指定的方法错误.
5××
500 服务器内部错误.
502 网关 错误.
504 网关 超时.
505 服务器 不支持请求中所指明的HTTP版本.

6 localhost 127.0.0.1 和 本机IP 三者的区别.
(1) 127.0.0.1 是回送地址, 指本地机, 一般用来 测试使用. 回送地址是本机回送地址(Loopback Address), 即主机IP堆栈内部的IP地址. 主要用于网络软件测试以及本地机进程间通信, 无论什么程序, 一旦使用回送地址发送数据, 协议软件立即返回, 不进行任何网络传输.
(2) localhost 是本地DNS解析的127.0.0.1的域名. 这个你打开本机的hosts文件就可以看到,一般位于 c:\windows\system32\driver\etc 下, 一般在最后有这么一行: 127.0.0.1 localhost.
(3) 本机IP 则指你连到网络上的IP地址, 可以是内网地址, 当然也可能是公网IP. 这个就是你实际利用TCP/IP协议与网上计算机通信时使用的IP了.
一个用户主机可能有多个IP地址. 当一台 PC 从一个网络移到另一个网络时,它的 IP 地址会改变, MAC 地址不会改变.

7 IP 和 MAC.
(1) IP(逻辑地址): IP地址是在IP协议中, 用来标识网络中不同主机的地址; 对于IPv4来说, IP地址是一个4字节, 32位的整数;通常也使用 “点分十进制” 的字符串表示IP地址, 例如 192.168.0.1 ; 用点分割的每一个数字表示一个字节, 范围是 0 - 255;
(2) MAC(物理地址): MAC地址用来识别数据链路层中相连的节点;长度为48位, 及6个字节. 一般用16进制数字加上冒号的形式来表示(例如: 08:00:27:03:fb:19)在网卡出厂时就确定了, 不能修改. mac地址通常是唯一的(虚拟机中的mac地址不是真实的mac地址, 可能会冲突; 也有些网卡支持用户配置mac地址).
(3) IP地址 描述的是 路途总体的 起点和终点; MAC地址 描述的是 路途上的每一个区间 的起点和终点;

7 服务器可以位于本地,也可以位于远程. 访问本地的tomcat, localhost:8081/项目部署名/服务路径, localhost也可以写成 127.0.0.1.

8 host文件. 一个系统文件, 是用来存储一些常用的 网络域名和与其对应的ip地址. 当用户输入一个需要登录的网址时, 系统就会 先去host文件中查找, 如果找到了就立即打开该网址. 如果 找不到的话就去DNS域名解析服务器中查找 (域名解析为IP).

9 http和https的区别:

相同点: 都采用基础协议作为 服务器和浏览器的沟通规范, 当服务器接收到一个请求时会返回状态码以及消息.

不同点:
(1) http 不安全,信息是 明文传输的. https SSL加密的安全传输.
(2) http 无需证书. https 要认证证书.
(3) http 80端口, https 443端口.

10 http2.0的优势.
(1) 提升访问速度.
(2) 允许多路复用: 允许同时通过单一的连接发送 多重请求-响应信息.
(3) 二进制分帧: 将所有的传输信息分割为更小的信息或者帧, 并对它们进行二进制编码.
(4) 首部压缩.

11 浏览器中输入一个URL后, 按下回车后发生了什么?

(1) 浏览器通过 DNS域名解析技术解析该URL 中的域名 得到对应的IP地址.
(2) 解析出IP地址后, 根据该IP地址和默认端口号80, 和服务器建立TCP连接, 发起三次握手.
(3) 连接建立完成后, 浏览器向服务器 发送HTTP请求.
(4) 服务器对请求作出响应, 并把对应的 响应结果返回给浏览器, 释放TCP连接.
(5) 浏览器根据其请求得到的资源 渲染页面, 最终向用户呈现一个完整的页面.

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值