今天补一补基础知识:

一、服务器:能够提供服务的机器,取决于机器上安装的软件(服务软件)。服务器响应服务请求,并进行处理。

  Web服务器:提供Web服务,即网站访问。常见Web服务软件:Apache(开源)、Tomcat(Java)、IIS(微软)……

二、IP:网络之间互连的协议,即为计算机网络相互连接进行通信而设计的协议。IP地址具有唯一性(每台电脑都有一个唯一的IP地址)。

  IP地址就是类似127.0.0.1、27.166.14.101、163.129.1.108一样点与数字的组合。

三、域名(Domain Name):用一串用点分隔的名字 (www.bilibili.com) 组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位。

  IP地址不便于记忆,域名就是为了便于人类记忆和沟通而产生的

  特殊IP如:127.0.0.1,代表本机(给电脑用)

  特殊域名:localhost,代表本机(给人类用)

四、DNS(Domain Name System):域名系统,DNS就是域名和IP地址相互映射的数据库

  通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。

  过程:用户输入域名 localhost → DNS ( localhost 127.0.0.1 ) → 服务器电脑

五、端口(Port):可以认为是设备与外界通讯交流的出口。端口可分为虚拟端口和物理端口。

  其中虚拟端口指计算机内部或交换机路由器内的端口,不可见。

  通过不同的端口可以找到不同的服务软件。如XAMPP控制台里轻松可见的“不同软件使用不同端口”。

  全过程:用户输入域名 localhost : Port → DNS ( localhost 127.0.0.1 ) → 服务器电脑 →(通过Port找到)服务软件

六、静态网站的访问流程:

  浏览器输入URL发起访问 → DNS服务器上找到域名对应的IP返回给浏览器 → 浏览器通过IP地址找到服务器电脑 → 通过端口找到服务软件,Apache在文件系统通过URI获取所需网页 → 再由Apache返回结果给浏览器 → 浏览器解析html网页并显示。

  ① URL:统一资源定位符 (Uniform Resource Locator),互联网上的绝对路径。

  ② URI:统一资源标志符 (Uniform Resource Identifier),表示web上每一种可用的资源。如 HTML文档、图像、视频、程序等,它们都由一个URI进行定位。

  ③ URI和URL都定义了资源是什么,但URL还定义了该如何访问资源。URL是一种具体的URI,它是URI的一个子集。URL不仅唯一标识资源,而且还提供了定位该资源的信息。URI 是一种语义上的抽象概念,它可以是绝对的,也可以是相对路径;而URL则必须提供足够的信息来定位,是绝对的路径。

  ④ DNS服务器在寻找对应IP地址时有先后次序,将先找本地DNS再找网络DNS;本地DNS即本机中的 hosts 文件。

  

七、动态网站的访问流程:整体与静态差不多,多出了服务器端解析操纵数据库的内容。

  ① 服务器解析:查找动态网站中URI标识到的是 .php 文件,服务器的Apache需要经过PHP引擎来解析php代码;

  ② 数据库:php代码中可能包含操纵数据库的动作,PHP引擎连接到数据库服务器来读取数据;

  ③ 最后Apache再返回结果给浏览器,浏览器解析html并展示。注意这里浏览器解析的不是php代码,php代码只能由服务器端的php引擎解析。

  

睡觉zzZ

“GIS DICTIONARY A-Z” 查询页面开发(3)—— 基础知识之服务器、IP地址、域名、DNS、端口以及Web程序的访问流程的更多相关文章

  1. 微信公众号平台接口开发:基础支持,获取微信服务器IP地址

    官方说明 目前看不出来这个接口有哪些具体运用,但是既然有这个接口,那我们就试试能不能用 访问接口 修改WeCharBase.cs,新增以下2个方法 public static string Serve ...

  2. ArcGIS API for JavaScript开发初探——基础知识

    1.前言 在ArcGIS Web API开发体系中一共有四大类,分别为: ArcGIS API for Flex ArcGIS API for JavaScript ArcGIS API for RE ...

  3. IOS开发的基础知识

    1.为什么对一个变量release后还要设为nil 对一个变量release后,这个变量指向的内存释放了,但这个变量本身没变,仍指向原来的内存地址.若这个变量在释放后被访问,或者被重复release, ...

  4. 【千纸诗书】—— PHP/MySQL二手书网站后台开发之基础知识

    前言: 在具体回顾每一个功能的实现前,还是有必要先温习一些项目涉及到的PHP.MySQL[语法基础].项目github地址:https://github.com/66Web/php_book_stor ...

  5. Unity游戏开发面试基础知识

    面试第一次知识总结: 一.Unity基本操作 1.unity提供哪几种光源? 点光源.平行光.聚光灯.区域光. 2.物体发生碰撞的必要条件什么? 两个物体必须有碰撞体Collider组件,一个物体上必 ...

  6. “GIS DICTIONARY A-Z” 查询页面开发(2)——INSERT INTO数据库

    今日工作:数据库连接.数据写入 一.数据库连接:使用了pymysql库 from G2_dataClean import defList import pymysql db = pymysql.con ...

  7. “GIS DICTIONARY A-Z” 查询页面开发(1)——bs4与词典数据处理

    第一天的工作:找到数据源,数据下载,数据处理. 数据源:"http://webhelp.esri.com/arcgisserver/9.3/java/geodatabases/definit ...

  8. web页面开发相关基础

    CSS是一种用于web的标准布局语言,可以控制版面.颜色以及元素和图像的大小和位置.HTML文档应该利用外部样式表来定义文档中使用的样式.JavaScript也应该放在外部文档中,这个文档应该只包含J ...

  9. ArcGIS Engine开发前基础知识(1)

    ArcGIS二次开发是当前gis领域的一项重要必不可少的技能.下面介绍它的基本功能 一.ArcGIS Engine功能 在使用之前首先安装和部署arcgis sdk,(在这里不在赘述相关知识)可以实现 ...

随机推荐

  1. IE与标准浏览器对事件处理的区别?(监听、阻止冒泡、阻止默认等)

    谷歌 IE:监听:addEventListener   attachEvent--------要在事件名称前面加on解绑:removeEventListener      detachEvent--- ...

  2. 安装goimports

    当我们执行 go get golang.org/x/tools/cmd/goimports 会报错package golang.org/x/tools/cmd/goimports: unrecogni ...

  3. Spring Security教程(五)

    在之前的几篇security教程中,资源和所对应的权限都是在xml中进行配置的,也就在http标签中配置intercept-url,试想要是配置的对象不多,那还好,但是平常实际开发中都往往是非常多的资 ...

  4. [技术博客]海报图片生成——小程序canvas画布

    目录 背景介绍 canvas简介 代码实现 难点讲解 圆角矩形裁剪失败之PS的妙用 编码不要过硬 对过长的文字进行截取 真机首次生成时字体不对 drawImage只能使用本地图片 背景介绍 目标:利用 ...

  5. CentOS 7.6 安装Python3.7.2 多版本共存

    CentOS 7.6 默认安装了 Python 2.7.5 准备环境 yum install git gcc gcc-c++ make automake autoconf libtool pcre p ...

  6. Python的WEB框架

    Python的WEB框架 Bottle Bottle是一个快速.简洁.轻量级的基于WSIG的微型Web框架,此框架只由一个 .py 文件,除了Python的标准库外,其不依赖任何其他模块. ? 1 2 ...

  7. ReentrantReadWriteLock源码分析

    代码在后面 读锁 = 共享锁 读锁写锁,公用一个Sync AQS state. 写锁是排他的,看到有人获取锁,他不会去获取,他获取了锁,别人也不会进来获取锁. 写锁的获取跟ReentarntLock一 ...

  8. case when else end 在update中的使用

    -- 当mark_way字段的值为'划拨用地'时把该字段值修改为'00'-- 当mark_way字段的值为'出让用地'时把该字段值修改为'01'-- 否则把该字段的值修改为'' update ais_ ...

  9. windows 安装 scrapy (python3.7)

    今天想要用scrapy爬取数据,想到原来刷过机没有这个库了就重新安装了一遍 安装scrapy 需要的东西   https://pan.baidu.com/s/1kuLvGQBG8tMTCY3WDLuU ...

  10. FusionInsight大数据开发---sorl应用开发

    sorl应用开发 要求: 了解Solr应用开发适用场景 熟悉Solr应用开发流程 熟悉并使用Solr常用API 理解Collection设计基本原则 应用开发实践 Solr简介 Solr是一个高性能, ...