当你输入一个url链接发生了什么?

  • 下面的图是上篇文章的改造版本

电脑浏览器输入百度

  • 打开台式电脑或者笔记本中的浏览器(IE,谷歌,360等),访问百度http://www.baidu.com,此时发送打开百度的请求给服务器,服务器接受到请求后反馈给浏览器,然后浏览器显示百度页面

    • 服务器这里指PHP,JAVA等后台语言处理逻辑,比如需要登录才能访问网站
  • 无论用哪个浏览器(IE,谷歌,360)和后台语言(PHPjAVA),最终展示给用户的页面,都是以html语言的代码形式转化的

HTML简单知识

  • 你在浏览器看到的所有页面,都是html+css展示的,比如图片,文字,页面布局等

  • html是页面的布局框架展示,而css就是对框架的颜色,文字,图片的美化

  • 建议自己去学下html+css的知识,点击此链接去学习,建议随意买一本这样的书,或者电子书都可以

  • 经过html+css美化好页面后,需要用js(javascript)去编写一些响应事件,可以点击此链接去学习,如:鼠标悬浮弹出一个对话框,鼠标右击出现菜单列表等,建议看一本完整的书系统学习下,javascript的知识,弄清楚了html+css+javascript的关系

  • 看看下面这个页面展示

  • 下面是对应的html代码

<html>
<head>
<title>百度一下</title>
<link rel="stylesheet" media="all" href="css/web-274d6a76417c1f7a7da5.css" />
<script src="/scripts/login.js" type="text/javascript"></script> <style>
#myDiv {background-color:#ccc;width:500px;height:500px;}
.title {color:red;}
</style>
</head>
<body>
<div id="myDiv">
<p class="title">这个是登录页面</p>
<form method="post" action="login.php">
<input type="text" name="username" />
<input type="password" name="pwd" />
<input type="submit" value="登录" />
</form>
<a href="http://www.sina.com">点击跳转到新浪</a>
</div>
</body>
</html>

HTML代码主要分析

  • <link rel="stylesheet" media="all" href="css/web-274d6a76417c1f7a7da5.css" /> 引用css样式文件,文件主要写的是文字的大小,背景色,背景图片页面布局等等,会同样执行第一张图片的流程
  • <script src="/scripts/login.js" type="text/javascript"></script> 引用js文件,主要编写的页面事件,会同样执行第一张图片的流程
  • <a href="http://www.sina.com">点击跳转到新浪</a> 点击这个链接,就是跳转到了一个新页面,会同样执行第一张图片的流程
  • <form method="post" action="login.php"> 点击登录后,发送一个登录的请求,就是login.php这个后台文件,处理的请求,login.php里面编写的代码,就类似于输入的用户名和密码是否正确,如果正确就跳转到个人中心,否则提示登录失败

总结

  • 浏览器输入网站后,得到后台的响应,浏览器(前端)是用html+css+js页面布局,页面设计,事件处理后最终展示到浏览器
  • 等初级测试工程师系列教程写完了,会把html+css+javascript+后台语言(python)的整个处理逻辑写一篇实战文章
  • 安卓手机+后台语言(python)的交互过程,中级测试工程师的文章来写实战文章
  • 苹果手机+后台语言的交互过程,由于我设备,就不会实战了

其他

  • 怎么找书看?去京东搜相关的关键字,如javascript, 然后看目录和评价再决定是否买书,还是去下载电子书

  • 下一篇的预告:HTML标签的认识和测试用例的编写

  • 在微信公众号搜索xiaobaiji008,和我一起进步,你也可以扫描下面二维码进行关注

浏览器的HTML页面展示的更多相关文章

  1. 《浏览器工作原理与实践》<04>从输入URL到页面展示,这中间发生了什么?

    “在浏览器里,从输入 URL 到页面展示,这中间发生了什么? ”这是一道经典的面试题,能比较全面地考察应聘者知识的掌握程度,其中涉及到了网络.操作系统.Web 等一系列的知识. 在面试应聘者时也必问这 ...

  2. app——分享wap站,数据处理页面展示

    无意中接到了一个小的工作任务:配合手机app端的分享功能做一个wap站,简言之:将手机app端分享的文章id传过来,利用此id再进行一系列的操作,由于文章分为纯文本,图文以及图集的三种类型的文章,因此 ...

  3. 【原】老生常谈-从输入url到页面展示到底发生了什么

    刚开始写这篇文章还是挺纠结的,因为网上搜索“从输入url到页面展示到底发生了什么”,你可以搜到一大堆的资料.而且面试这道题基本是必考题,二月份面试的时候,虽然知道这个过程发生了什么,不过当面试官一步步 ...

  4. Saiku控制页面展示的数据过长自动换行(二十四)

    Saiku控制页面展示的数据过长自动换行 目前用到saiku来展示数据,发现数据文本过长也不会自动换行,然而用户那边又需要换行(会好看些),所以就来改一改源码啦 首先我们使用谷歌浏览器 inspect ...

  5. 【转】老生常谈-从输入url到页面展示到底发生了什么

    今天看到了一篇很详细地解释了从输入url到页面展示过程的文章,好文章不能错过,所以转到自己这里来了. 原文地址:老生常谈-从输入url到页面展示到底发生了什么 以下为原文: 刚开始写这篇文章还是挺纠结 ...

  6. (转)老生常谈-从输入url到页面展示到底发生了什么

    刚开始写这篇文章还是挺纠结的,因为网上搜索"从输入url到页面展示到底发生了什么",你可以搜到一大堆的资料.而且面试这道题基本是必考题,二月份面试的时候,虽然知道这个过程发生了什么 ...

  7. base64编码后的pdf文件前端页面展示--pdf.js的应用

    最近在整理项目中用到的插件或者使用心得,感觉还是写成博客,能加深新一层的理解. 我先说一下我的需求:由于java后台编译的文件流在手机端加载速度太慢,所以想着可以在前端解析,放在页面展示给用户. 所以 ...

  8. 转载--从输入URL到页面展示到底发生了什么

    最近我也在看http协议, tcp相关知识, 在吃饭时无意看到来一篇文章讲解“从输入URL到页面展示到底发生了什么”, 细细看完, 很值得回味, 所以转载, 以供日后在温习. (PS, 作者这篇文章发 ...

  9. SpringBoot页面展示Thymeleaf

    https://www.jianshu.com/p/a842e5b5012e 开发传统Java WEB工程时,我们可以使用JSP页面模板语言,但是在SpringBoot中已经不推荐使用了.Spring ...

随机推荐

  1. php集成环境、基础标记符

    集成环境:wamp windows apache mysql php lamp linux apache mysql php 标记符: 1.<?php ...... ?> 2.<?p ...

  2. 拥抱高通的联想,真的能靠5G突围?

    编辑 | 于斌 出品 | 于见(mpyujian) 2016年,对于常年自我标榜为"民族企业"的联想来说是品牌口碑的"转折之年".它在这一年的5G信道编码标准方 ...

  3. 计算机基础,Python - Map和Reduce

    例子1. python中实现hashable def __hash__(self): hashes = map(hash, self.components) return functools.redu ...

  4. JS--easyui通用验证

    // JavaScript Document $.extend($.fn.validatebox.defaults.rules, { Composite_validation: { validator ...

  5. 【模板】凸包向内推进求不严格的半平面交——poj3384

    想不明白这题写严格的半平面交为什么会错 /* 凸包所有边向内推进r */ #include<iostream> #include<cstring> #include<cs ...

  6. L298N模块的使用(文末有惊喜)

    这个模块有两个供电口,标示着“12V输入”的是功率驱动电源输入,供电范围可以是7-46V, 一般12V供电就能满足我们大部分的DIY需求.标示着“5V输出可不接”的是逻辑供电, 当我们将“板载5V输出 ...

  7. 三 模拟实现顺序表ArrayList

    /** * 顺序表,重点是数组动态扩容,插入 * 底层采用数组,长度可以动态变化,此处采用增长一倍 *  java.util.ArrayList每次增长50% *  int newCapacity = ...

  8. 杭电2602 Bone Collector

    Bone Collector Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  9. 遍历 Map 的方式

    今天获取到一个Map 集合,想循环遍历出内容,突然发现忘记如何遍历Map,平时用的太少. Map 集合的内容是 Key , Value 键值对形式存储 第一种是 for 循环遍历 Map<Str ...

  10. kudu-master服务启动失败

    执行service kudu-master start ,  提示启动失败failed. 进入报错日志目录  (cd /var/log/kudu/),看到报错信息(vim kudu-master.ER ...