“GIS DICTIONARY A-Z” 查询页面开发(3)—— 基础知识之服务器、IP地址、域名、DNS、端口以及Web程序的访问流程
今天补一补基础知识:
一、服务器:能够提供服务的机器,取决于机器上安装的软件(服务软件)。服务器响应服务请求,并进行处理。
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程序的访问流程的更多相关文章
- 微信公众号平台接口开发:基础支持,获取微信服务器IP地址
官方说明 目前看不出来这个接口有哪些具体运用,但是既然有这个接口,那我们就试试能不能用 访问接口 修改WeCharBase.cs,新增以下2个方法 public static string Serve ...
- ArcGIS API for JavaScript开发初探——基础知识
1.前言 在ArcGIS Web API开发体系中一共有四大类,分别为: ArcGIS API for Flex ArcGIS API for JavaScript ArcGIS API for RE ...
- IOS开发的基础知识
1.为什么对一个变量release后还要设为nil 对一个变量release后,这个变量指向的内存释放了,但这个变量本身没变,仍指向原来的内存地址.若这个变量在释放后被访问,或者被重复release, ...
- 【千纸诗书】—— PHP/MySQL二手书网站后台开发之基础知识
前言: 在具体回顾每一个功能的实现前,还是有必要先温习一些项目涉及到的PHP.MySQL[语法基础].项目github地址:https://github.com/66Web/php_book_stor ...
- Unity游戏开发面试基础知识
面试第一次知识总结: 一.Unity基本操作 1.unity提供哪几种光源? 点光源.平行光.聚光灯.区域光. 2.物体发生碰撞的必要条件什么? 两个物体必须有碰撞体Collider组件,一个物体上必 ...
- “GIS DICTIONARY A-Z” 查询页面开发(2)——INSERT INTO数据库
今日工作:数据库连接.数据写入 一.数据库连接:使用了pymysql库 from G2_dataClean import defList import pymysql db = pymysql.con ...
- “GIS DICTIONARY A-Z” 查询页面开发(1)——bs4与词典数据处理
第一天的工作:找到数据源,数据下载,数据处理. 数据源:"http://webhelp.esri.com/arcgisserver/9.3/java/geodatabases/definit ...
- web页面开发相关基础
CSS是一种用于web的标准布局语言,可以控制版面.颜色以及元素和图像的大小和位置.HTML文档应该利用外部样式表来定义文档中使用的样式.JavaScript也应该放在外部文档中,这个文档应该只包含J ...
- ArcGIS Engine开发前基础知识(1)
ArcGIS二次开发是当前gis领域的一项重要必不可少的技能.下面介绍它的基本功能 一.ArcGIS Engine功能 在使用之前首先安装和部署arcgis sdk,(在这里不在赘述相关知识)可以实现 ...
随机推荐
- Android 开发基础入门篇: Android Studio 导入工程
最简单的方式 等待加载完就好了
- c博客作业-数组
0. 1.本章学习总结 1.1学习内容总结 1.1.1一维数组 1.一般定义形式:类型名 数组名 [数组长度];类型名指定数组中每个元素的类型,数组名是数组变量的名称,是一个合法的标识符,数组长度是一 ...
- .net项目发布到iis
参考: https://www.cnblogs.com/teyigou/p/8125379.html https://www.cnblogs.com/kissfu/p/6399472.html htt ...
- Python基于tkinter.messagebox实现简易消息框、对话框
库导入: import tkinter import tkinter.messagebox 有关提示框: tkinter.messagebox.showinfo(title=None, message ...
- bind 安装 和配置(master/slave)
一,软件安装 #sudo yum -y install bind 二,配置 # vi /etc/named.conf // // named.conf // // Provided by Red H ...
- 把ubuntu自带的高gcc版本降到低版本(如gcc 3.4)的方法
转载自: 博客1.博客2 .博客3 步骤 第一步: 下载所需gcc安装包(.deb格式) 手动:老版本gcc下载地址:http://old-releases.ubuntu.com/ubuntu/poo ...
- docker 挂载主机目录 -v 和 --mount区别
使用-v 时,如果宿主机上没有这个文件,也会自动创建, 但是如果使用--mount时,宿主机中没有这个文件会报错找不到这个文件,并创建失败
- ASP.NET Core使用Docker-Swarm集群部署实现负载均衡实战演练
一.需求背景 人生苦短,我用.NET Core!阿笨对Docker是这样评价的:Docker在手,环境我有!Docker出手,集群我有!前面的Doc基础课程我们学习了如何使用Docker来部署搭建单机 ...
- volatile 和 内存屏障
接下来看看volatile是如何解决上面两个问题的: 被volatile修饰的变量在编译成字节码文件时会多个lock指令,该指令在执行过程中会生成相应的内存屏障,以此来解决可见性跟重排序的问题. 内存 ...
- 什么是 ZFS文件系统?ZFS概念及特点简介
什么是 ZFS? ZFS(Zettabyte File System)是由SUN公司的Jeff Bonwick领导设计的一种基于Solaris的文件系统,最初发布于20014年9月14日. SUN被O ...