输入网址的时候,浏览器是如何判断你是http协议还是https协议的
1.问题
拿淘宝来说事。
在浏览器中通常人们输入淘宝的网址有taobao.com www.taobao.com http://www.taobao.com
而最终浏览器中的显示的网址是https://www.taobao.com,这是怎么实现的呢?
2.taobao.com -> www.taobao.com
taobao.com 和www.taobao.com是不同的域名,淘宝会把相似的域名都买下来,都定向到同一个域名下。
当输入taobao.com 返回的是302重定向,使浏览器访问www.taobao.com
而百度的实现方式的通过返回 刷新元信息 http://www.baidu.com/“>
使浏览器刷新到www.baidu.com,实现原理大抵相似。
3.http://www.taobao.com -> https://www.taobao.com
http默认端口是80,https默认端口是443。
很多网站都提供https服务,为了避免用户输入http导致访问80端口出现访问不通的情况,同时也是为了与http版本的网站兼容,服务器监听80端口,对所有的80端口的访问都定向到https的url,实现方式都多种,最简单的就是使用302重定向,将其重定向到https://www.taobao.com
这实现了http->https,但是不能每次都重定向,http协议实现了一个叫做HSTS机制。返回的302报文中有这样一条
Strict-Transport-Security: max-age=31536000\r\n
其含义是强制浏览器在max-age到期之前,把所有的http://www.taobao.com自动转换成https://www.taobao.com
是浏览器实现的url转换,不用每次访问两次服务器,一步到位。这样避免了302跳转80->443的中间人劫持的问题。所以之后每次访问就不会出现302了,只有第一次会出现。
小结
通过上面的案例可以知道,浏览器默认的端口一直都是80端口,也就是说默认情况下它是走的http协议,那么为了让它通过https协议来访网站,服务器实际上做了这些事情。
1.使用http协议并监听80端口,等待浏览器的访问.
2.在监听的80端口上设置url重定向,指向监听端口为443的https协议的网站
3.通过这样一种方式就可以实现网站地址的重定向了。
因此,即使你输入http://www.baidu.com:80
,做了重定向的服务器也会将此url修改为https://www.baidu.com:443
。也就是说,实际判断的过程是由服务器来保证的,浏览器的默认端口一直都是80端口。
输入网址的时候,浏览器是如何判断你是http协议还是https协议的相关推荐
- cordova 某个页面强制横屏_小白科普:从输入网址到最后浏览器呈现页面内容,中间发生了什么?...
老刘 1前言 这篇文章是应网友之邀所写,主要描述一下我们访问网站时, 从输入网址到最后浏览器呈现内容,中间发生了什么. 今天的文章主要专注于应用层,我拿了一个很简单的网络结构来讲.假定本机已经获取了I ...
- 输入网址后,浏览器从访问服务器到呈现网页的过程
当你输入一个网址的时候,实际会发生什么? 作为一个软件开发者,你一定会对网络应用如何工作有一个完整的层次化的认知,同样这里也包括这些应用所用到的技术:像浏览器,HTTP,HTML,网络服务器,需求处理 ...
- http协议与https协议+UDP协议和TCP协议+WebSocket协议下服务端主动去发送信息+对称加密与非对称加密+get和post请求方式区别详解+浏览器内核以及jsj解析引擎
TCP和UDP协议是TCP/IP协议的核心. 在TCP/IP网络体系结构中,TCP(传输控制协议,Transport Control Protocol).UDP(用户数据报协议,User Data P ...
- 在浏览器中输入网址后的流程
1.浏览器发起DNS查询请求 在广域网中是基于IP地址进行通信的.但通常客户访问的是一个网址,为此需要先得到网址对应的IP地址,这就需要域名服务系统将域名转换成IP地址.在客户端浏览器中输入网址时,浏 ...
- 【web】HTTP(s)协议详解(重点:HTTPS 的加密过程浏览器中输入网址后,发生了什么?)
[大家好,我是爱干饭的猿,本文介绍应用层HTTP协议.HTTPS协议.当你在浏览器中输入网址后,到底发生了什么事情?HTTPS 如何进行的加密?对称加密.非对称加密.CA证书又是什么? 后续会继续分享 ...
- win10中谷歌浏览器输入任何字符导致浏览器崩溃的解决方法
win10中谷歌浏览器输入任何字符导致浏览器崩溃的解决方法 最近在使用谷歌浏览器的时候,偶尔会用百度等查询资料,如果是点击标签页直接跳转不会出现任何问题,但是一旦有输入的时候,不管是在百度等搜索栏中输 ...
- 浏览器输入网址到浏览器渲染页面的过程
1) 在客户端浏览器中输入网址URL. 2) 发送到DNS(域名服务器)获得域名对应的WEB服务器的IP地址. 3) 客户端浏览器与WEB服务器建立TCP(传输控制协议)连接. 4) 客户端浏览器向对 ...
- 在浏览器中输入网址总是打开同一个网站怎么回
我们经常使用浏览器来访问不同的网站,但是有用户发现自己无论在浏览器中输入怎样的网址,打开的同一个网站,这是怎么回事?小编认为应该是用户浏览器被劫持引起的.那么小编下面就给大家讲讲解决的办法. 操作步骤 ...
- 浏览器输入网址发生了什么?
引言:昨天接到一个电话面试,其中有个问题:浏览器输入网址之后发生了什么?之前没有具体了解过,只是以web开发经验进行理解, 只是知道记得大学计网 DNS协议作用,进行域名解析得到服务器 IP地址,以下 ...
- dns域名解析过程——从浏览器输入网址到页面显示的中间过程
BEGIN: 一.域名 1.域名(domain name)也叫做网域,是英特网上的一个服务器或者一个网络系统的名字,域名具有唯一性,在传输数据时作为定位标识,全球没有重复的域名.域名的形式是由若干个字 ...
最新文章
- 偏度与峰度的正态性分布判断
- MongoDB记录操作日志的Base类实现
- pytroch 数据增量 transforms的二十二个方法
- localhost 已拒绝连接_MySQL连接错误:Access denied for #x27;root#x27;@#x27;localhost#x27;
- gitHub上传项目
- 更改重做日志(redolog)文件的大小
- 湖北警方打掉一制贩假酒团伙 涉案金额1.6亿元
- Spark internal - 多样化的运行模式 (下)
- mongoDB学习--建库、删库、插入、更新
- js 实现pdf在线阅读
- CRC校验算法详解及代码实现
- f1c100A运行linux,荔枝派 Nano 全志 F1C100s 编译运行 Linux 笔记
- 预测大盘最准确的指标_预测大盘最准确的指标-图讯阅读基地
- 铁路CAD设计辅助软件V2.0
- 会议室预约系统(小程序+web端管理系统)2020.11.11-2021.02.11
- 如何检测显卡类型和OpenGL版本
- Intent传递数据的方法
- 电机学习笔记 无刷电机控制6步换相
- 互联网电视变身哄娃神器:YOYO搜片真方便
- 如何使用Arduino开发板连接NEO-6M GPS模块