“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,(在这里不在赘述相关知识)可以实现 ...
随机推荐
- Python——IO多路复用之select模块poll方法
Python——IO多路复用之select模块poll方法 使用poll方法实现IO多路复用 .├── poll_client.py├── poll_server.py└── settings.py ...
- mysql 8创建远程访问用户以及连接mysql速度慢的解决方法
mysql 8创建远程访问用户 [root@demo /]# mysql -u root -p #登录服务器数据库 Enter password:123xxx >user mysql; & ...
- Apollo配置中心--安装使用-docker
官网:https://github.com/ctripcorp/apollo Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境.不同集群的配置,配置修改后能够实时推 ...
- 你的ThreadLocal线程安全么
想必很多小伙伴们对ThreadLocal并不陌生,ThreadLocal叫做线程本地变量,也就是ThreadLocal为变量在每个线程中都创建了一个副本,每个线程可以访问自己内部的副本变量.那么,我们 ...
- 【Java】15分钟快速体验阿里Java诊断工具Arthas
[墙裂推荐]15分钟快速体验阿里Java诊断工具Arthas : https://alibaba.github.io/arthas/arthas-tutorials?language=cn&i ...
- TaskTimer
什么是调度 任务:就是事情 调度:在不同的时间点或者在指定的时间点或者间隔多长时间去运行这个任务.就是生活中的闹钟 相关的类Timer 类:位于 java.util 包中 案例 实现时间的动态刷新 任 ...
- 修改mysql端口后重启mysql报错:Can't start server: Bind on TCP/IP port. Got error...n denied
1:错误信息:如下 [root@host ~]# systemctl status mariadb ● mariadb.service - MariaDB database server Loaded ...
- Learn About Git Bash
git是用来做版本控制的,在本节博客中,主要介绍git的下载,以及简单的配置 Version control is a system that records changes to a file or ...
- ReentrantLock 的公平锁源码分析
ReentrantLock 源码分析 以公平锁源码解析为例: 1:数据结构: 维护Sync 对象的引用: private final Sync sync; Sync对象继承 AQS, Syn ...
- AntDesign vue学习笔记(七)Form 读写与图片上传
AntDesign Form使用布局相比传统Jquery有点繁琐 (一)先读写一个简单的input为例 <a-form :form="form" layout="v ...