网站访问【逻辑】| 学习笔记

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
.cn 域名,1个 12个月
简介: 快速学习网站访问【逻辑】。

开发者学堂课程【PHP 基础入门课程(上) :网站访问【逻辑】】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/709/detail/12572


网站访问【逻辑】

 

内容介绍:

一、网站访问【逻辑】

1、概念

2、小结

 

一、网站访问【逻辑】

目标:作为开发者了解互联网实际访问的流程以及各个过程

1、概念

网站访问逻辑:

网站访问逻辑是用户通过浏览器输入 URL,然后经过互联网一系列逻辑转换,从而实现从目标主机(服务器)获取相应资源

服务器:

Server, 是指能够对外提供服务器的计算机。

●对外提供服务依赖的是服务软件,所以服务器是装有服务软件的计算机。

●一台电脑上可以同时安装多种服务软件。

●常见的网站服务器有三种: Apache. Nginx和IIS。

•Apache:免费、稳定、并发不高

•Nginx:免费、高并发、没有 Apache 稳定

•IIS: 收费、仅限于 Windows 平台

URL: Uniformed Resource Location, 统一资源定位符,是互联网上标准资源的地址。

互联网上的URL通常包含由以下几个部分构成:协义://主机地址:端口/资源路径?传输数据

●协议:

互联网的传输协议,目前有 HTTP 和 HTTPS. 用户在进行访问的时候有时可以省略,因为浏览器会自动补充

●主机地址:

目标计算机(服务器)的唯一标识,是算计世界使用 IP 地址确定,每一台互联网上的电脑都有一个独一无二的 IP 地址,但是 IP 地址是一串数字符号,不方便人们使用。所以为了方便用户记忆和使用,一般都是使用一个叫做域名的东西

•IP 地址: Internet Protocol Address,互联网协议地址,是分配给用户上网使用的网际协议(英语: Internet Protocol)的设备的数字标签。如百度的服务器地址163. 177.151.109

•域名: Domain,是一个方便用户记忆的英文字符串,如 www. baidu. com

•域名解析: Domain Name System (DNS) , 是一种专门用来将域名转换成对应IP地址的线上服务器

•本地域名解析:

hosts 文件,在c:\Windows\System32\drivers\etc路径下,帮浏览器率先进行域名解析的本地 DNS

●端口:

Port, 指计算机与外界通信的出口,端口包含物理端口(实际存在如USB口、HDMI等)和虚拟端口,我们通常所说的端口指的是虚拟端口,是计算机操作系统规定,每个软件对外有自己独立的交互出口,如网站通常使用80端口,通常一些常用的端口都可以省略(系统会自动访问)

●资源路径:文件资源在服务器上对应的路径

●传输数据:浏览器对服务器提供的数据信息,通常是名字=值的形式,如果有多个数据,使用&符合分隔,未必每次访问都有数据传输。

配图说明:

image.png

首先,作为用户访问要有一台电脑和互联网,二者要网络互连,互联网上的每一台电脑都有一个固定的 IP 地址。

此时,www.taobao.com与157.255.139.124没有关联关系,我们需要通过 hosts 进行本地查询,如果本地没有,就需要通过互联网上的 DNS SERVER 查询,当浏览器拿到 IP 地址后就会去访问淘宝的服务器,80会找到 Apache 服务器,Apache服务器会将数据进行返回,返回的是 HTML 代码。

2、小结

(1)网站访问的逻辑,其实就是互联网根据各项协议,将用户输入的域名转换成计算机能识别的方式,准确找到网站服务器并获取相应的资

(2)Web 访问需要经过从用户出发需要经过好多步骤才能访问到

●用户在浏览器输入 URL

●DNS 解析:从 URL (主机名)解析得到服务器IP地址

本地 hosts 解析

互联网 DNS 解析

●浏览器通过 IP 和端口找到服务器

●服务器通过端口,让 Apache 处理请求

●Apache 找到用户请求的文件

●Apache 读取文件返回给浏览器

●浏览器解析 HTML 文件,最终呈现给用户网页

相关文章
|
前端开发 Java 数据库
欢迎来到Jsp编程课时十二——今天实现的目标是。@1将数据库的数据发送到浏览器。@2利用浏览器实现对数据库的增删改查操作。@3理解MVC三层架构的定义。(二)
欢迎来到Jsp编程课时十二——今天实现的目标是。@1将数据库的数据发送到浏览器。@2利用浏览器实现对数据库的增删改查操作。@3理解MVC三层架构的定义。(二)
66 0
|
前端开发 Java 数据库
欢迎来到Jsp编程课时十二——今天实现的目标是。@1将数据库的数据发送到浏览器。@2利用浏览器实现对数据库的增删改查操作。@3理解MVC三层架构的定义。(三)
欢迎来到Jsp编程课时十二——今天实现的目标是。@1将数据库的数据发送到浏览器。@2利用浏览器实现对数据库的增删改查操作。@3理解MVC三层架构的定义。(三)
102 0
|
前端开发 搜索推荐 Java
欢迎来到Jsp编程课时十二——今天实现的目标是。@1将数据库的数据发送到浏览器。@2利用浏览器实现对数据库的增删改查操作。@3理解MVC三层架构的定义。(一)
欢迎来到Jsp编程课时十二——今天实现的目标是。@1将数据库的数据发送到浏览器。@2利用浏览器实现对数据库的增删改查操作。@3理解MVC三层架构的定义。(一)
81 0
|
前端开发
前端学习案例1-对象的禁止配置
前端学习案例1-对象的禁止配置
61 0
前端学习案例1-对象的禁止配置
|
前端开发
前端学习案例17-对象禁止配置
前端学习案例17-对象禁止配置
66 0
前端学习案例17-对象禁止配置
|
安全 Java 开发者
案例之资源服务中加入校验用户所需对象|学习笔记
快速学习案例之资源服务中加入校验用户所需对象
案例之资源服务中加入校验用户所需对象|学习笔记
|
前端开发
前端工作小结25-视频上传逻辑
前端工作小结25-视频上传逻辑
89 0
前端工作小结25-视频上传逻辑
|
缓存 网络协议 JavaScript
|
开发者 Python
修改用户功能实现 | 学习笔记
快速学习 修改用户功能实现
111 0
|
移动开发 前端开发 JavaScript
自己平时会使用的一个自定义前端结构
这个结构我是根据一些前端技术整合到一起,方便我平时测试一些看到的前端技术,例如CSS、JS等,将理论上升到验证的阶段。
自己平时会使用的一个自定义前端结构