Quiet
  • HOME
  • ARCHIVE
  • CATEGORIES
  • TAGS
  • LINKS
  • ABOUT

李致知

  • HOME
  • ARCHIVE
  • CATEGORIES
  • TAGS
  • LINKS
  • ABOUT
Quiet主题
  • HTTP
  • HTTPS

HTTP和HTTPS初探

李致知
知识点

2022-12-19 14:34:20

文章目录
  1. 一,背景
  2. 二,HTTP
    1. HTTP 报文
  3. 三,HTTPS
  4. 四,两者的区别
  5. 五,一些问题
    1. 1,为什么开头我会说谷歌浏览器没事?
    2. 2,http 还有哪些问题?
  6. 参考资料

一,背景

记得我刚开始开发项目的时候,后端同学给了我预览网址 xxx.top,然后我在 Edge 浏览器里(谷歌这样输入也是好使的,为什么一会讲)输入 http://www.xxx.top ,结果访问不了,折腾了很长时间才发现是 https://www.xxx.top ,直接给我整的尴尬的要死。

那么 HTTP 和 HTTPS 有什么区别呢?可能很多小白都不太清楚。这里讲一些我遇到过的问题以及两者的基础知识。

二,HTTP

HTTP(Hyper Text Transfer Protocol)意思是超文本传输协议,他是规范从远程服务器传输数据到本地浏览器的一种应用层协议。

超文本:通过超链接将来自不同空间文本和数据连接在一个界面,并可以实现项目跳转的文本。最常见的超文本格式就是 HTML(Hyper Text Markup Language,全称超文本标记语言)

协议:协议在计算机界指的是网络协议,一种计算机相互通信对话所必须遵守的约定,比如使用什么语法,怎样建立链接、怎样相互识别等。常见的互联网协议有 TCP/IP 协议、UDP 协议、HTTP 协议等不同通信层面上的协议(HTTP 属于应用层,即最接近用户的层面),感兴趣的可以自己了解,或者等我之后讲。

通俗地说我们常见的前端请求就属于 HTTP 请求/HTTPS 请求,整个过程:客户端(浏览器)发送请求,服务器收到请求做出响应。

我们遇到的第一个 HTTP 请求其实就是通过输入网址得到 HTML 网页:

  1. 浏览器向服务端发出请求该地址网页的请求
  2. 服务器会处理请求数据,组装并返回网页给浏览器
  3. 这时我们就可以看到网页上的内容了
无标题-2022-12-19-2326

而 HTTP 就是对这个传输过程进行一定的规范。

HTTP 报文

说人话就是客户端和服务端传递的数据。

HTTP 报文由请求报文和响应报文组成,请求报文由请求行、请求头、请求体组成。

这里以百度为例(右键检查->网络->筛选文档->点击 baidu.com):

image-20221219235621534 image-20221219235645006

这里的具体项我就不详细讲了,具体可以参考我的参考资料。

三,HTTPS

HTTPS(Hypertext Transfer Protocol over Secure Socket Layer)意思是安全套接字层上的超文本传输协议,它比 HTTP 多的是有了安全保护,比如我们如果传输账号密码的话,使用 http 相当于裸奔。

HTTPS=HTTP+SSL(一种加密安全协议)

关于 HTTPS 的详细传输过程,另开文章讲。

四,两者的区别

  • http 是明文传输,通俗得说数据可以直接看到,而 https 是加密传输,更加安全
  • http 和 https 使用的端口不同,前者是 80,后者是 443。nginx(一种服务器)就是默认开启在 80 端口上
  • https 需要申请 SSL 证书,这个是付费的,而 http 是免费的
  • https 协议有多次握手过程,传输数据速度是比 http 慢的

五,一些问题

1,为什么开头我会说谷歌浏览器没事?

因为谷歌会自动将 http 转换为 https。

如果我们想要使用 http 的话,可以这么办:

  1. 在谷歌地址栏输入 chrome://net-internals/#hsts
  2. 在 Delete domain security policies 那一项输入你想要使用的 http 网址名。

2,http 还有哪些问题?

以前我们的网站大多都是 http 型网站,我们会在一些网站看到很多莫名其妙的广告,比如百度的广告,其实这些广告都是运营商中途添加上的。

但是其实现在很多网站都已经变成 https 网站了,所以说很多网站的广告其实潜在地变少了。

参考资料

  • MDN 官网的 HTTP:https://developer.mozilla.org/zh-CN/docs/Web/HTTP
  • HTTP 报文:https://blog.csdn.net/Hardworking666/article/details/123833192
上一篇

websocket及其常见库

下一篇

我的第一篇博客:关于写博客这件事

©2023 By 李致知. 主题: Quiet 鲁ICP备2022039519号-1
Quiet主题