Web基础(上)

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: Web基础(上)


前些天发现了一个巨牛的人工智能学习网站,内容通俗易懂、风趣幽默,忍不住想分享一下。对人工智能感兴趣的同学可以去看看哦


点击跳转到网站。


一、DNS概述


1、域名


域名又称为FQDN,使用域名是为了解决ip地址不容易记的问题

一个完整的FQDN也就是域名,由主机名+域名组成

例如: www.baidu.com 主机名就是www而域名就是baidu.com


2、域名解析


域名解析包含本地hosts文件解析和DNS服务器解析


系统中都会有一个hosts文件,用户可以自己定义ip和域名去自定义解析ip


DNS服务器相当于一个大型的专门写hosts的系统,PC机可以去指定DNS服务器,当PC机收到一个本地hosts中没有的域名,本地无法解析,就会转到PC机指定的DNS服务器中,让DNS服务器去解析,然后回应PC机,从而成功解析


3、为什么要使用域名解析(DNS服务器)


因为计算机之间进行通信使用的是ip地址,但是对于用户来说,ip地址比较难记,所以就出现了域名解析,通过字母组成的单词,方便用户去记忆


4、DNS服务器的作用


将域名解析成ip地址


5、域名解析的过程



2021042209343812.png


6、网站的基本概念


Web网站:有web1.0 和web2.0,web1.0侧重以编辑为特征,web2.0侧重于用户交互

web的几个基本概念分为: 网站、网页、主页、HTTP、URL、HTML、超链接


URL和URI很相似:


  • URL的资源位置是绝对路径
  • URI的资源位置是相对路径


例如: URL=https://www.aaa.com/


https 为用户访问使用的协议
www.aaa.com 为用户访问的域名,也可以是ip地址和端口号
/ 为用户访问的资源,/就是绝对路径


7、页面的分类和区别


静态页面: 页面直接由web服务进行解析 ,页面可以包含动态,但是内容是静止的。部署静态页面需要在服务器上安装能够解析静态页面的服务,nginx、httpd这两种web服务默认只能解析静态页面。


主页文件后缀名为.html .xml .htm


动态页面: 页面由php进行解析 ,页面会随着时间、环境、数据库数据等因素去进行相应的变化。部署动态页面同样需要在服务器上安装能够解析动态页面的服务(nginx、httpd等),还要安装php来解析动态页面。


主页文件后缀名为:.php .asp .jsp .pl .py .cgi


后缀不同就是开发语言不同,动态页面一般以编程语言编写


8、网站传输协议


一般分为:http超文本传输协议和https安全超文本传输协议


http 监听端口默认为tcp的80端口,不进行加密传输
https 监听端口默认为tcp的443端口,进行加密传输


9、HTTP协议分析


(1)HTTP: HTTP又称超文本传输协议,是现在互联网应用中使用最多的一种网络协议,协议的核心功能就是传输Web服务器上的以html为后缀的页面和其他文件


(2)HTTP版本: http0.9 已经被淘汰,http1.0和http1.1 是目前广泛使用的,http2.0 还没有普及


(3)HTTP协议传输过程:

(1)用户使用PC1的浏览器访问指定的URL也就是域名
(2)如果PC1有本地解析就直接进行域名解析进行访问,没有本地解析那就转发给指定的DNS服务器去进行域名解析
(3)获取端口号,一般是80或者443
(4)PC1连接到域名解析后的ip地址以及端口号
(5)PC1发送一条http get读取数据的请求
(6)PC1从服务器读取http响应
(7)关闭连接
(8)PC1浏览器成显示页面

2021042209383748.png(4)影响客户端访问web站点的因素: 客户端请求的网络I/O,web服务器请求页面的磁盘I/O


I/Oinputoutput即上传和读取


10、常见状态返回码


200 表示页面成功访问 ok
301 请求的页面永久跳转了
403 禁止访问该页面
404 找不到该页面
500 服务器内部错误
502 网管错误
503 当前服务不可用
504 网关请求超时


二、HTTP请求报文和响应报文


(1)概述


HTTP协议是一个应用层协议,报文主要分为:请求报文和响应报文


(2)过程


当客户端请求一个网页时,会先通过http协议将请求的内容封装在http请求报文中并且发送给服务器


服务器收到客户端的请求报文后根据报文的协议规范,进行报文解析


服务器解析完成后向客户端返回响应报文


(3)报文的结构


一般分为三个结构:


1、起始行,对报文进行描述,包括了三个部分


资源通过一组http头和呈现数据(如html文件或者图片视频等)返回给客户端


请求的方法,常用的有GET、POST、HEAD等

GET: 向特定的资源发送请求,它的本质就是发送一个请求来取得服务器上的某一资源,GET请求中,永远不会包含呈现数据


POST: 向指定资源提交数据进行处理请求,例如提交表单或者上传文件。


HEAD: 向服务器索与GET请求相同的响应,只不过响应体将不会被返回


请求的URL

协议类型以及版本


2、头部,对报文中添加一些附加信息

3、主体,数据的主体


三、apache原理概述


1、apache概述


apache作为最早的web服务程序,它是通过http协议来提供网页浏览服务


2、apache特点


  • 模块化设置
  • 开放源代码
  • 跨平台应用
  • 支持多种web编程语言
  • 运行稳定


3、apache常见的三种工作模式


apache的核心模块叫做多路处理模块(Multi-Processing Module),简称MPM

常见的三种模式为: prefork、worker、event


使用httpd -v查看当前apache版本,httpd -V |grep "server MPM" 查看apache当前模式

httpd_2.2版本默认使用prefork,httpd_2.4版本默认使用worker


一般来说,每个模式都会默认有两个闲置进程,所以一般来说如果只剩一个闲置进程,那么 a p a c h e 就会自动创建一个闲置进程 一般来说,每个模式都会默认有两个闲置进程,所以一般来说如果只剩一个闲置进程,那么apache就会自动创建一个闲置进程

一般来说,每个模式都会默认有两个闲置进程,所以一般来说如果只剩一个闲置进程,那么apache就会自动创建一个闲置进程


惊群效应: 当所有进程都为休眠状态时,这个时候突然来了一个请求,这个请求会使所有进程都进行处理,但是最终只有一个进程可以进行 0处理,其他进程没有请求处理就又会进入休眠状态,这样的现象和性能浪费就叫做惊群效应,而apache几乎所有模式都有惊群效应


(1)MPM=prefork


prefork是多进程模式,一个进程处理一个连接,每个进程相对来说都是独立的,这个过程会用到select机制来通知


优点: 稳定、响应快


缺点: 消耗大量cpu和内存、keep-alive长连接占据问题,不适用于高并发场景

———————————————————————————————————————————————————注释——————————————————————————————————————————————————————
keep-alive长连接占据问题:即tcp连接在发送后仍然与客户端保持连接状态,客户端的浏览器可以通过相同的连接去发送请求,这样虽然节省了为每个请求建立新连接的时间、节约了带宽并且减少了重复请求的次数加快了客户端访问的速度,但是在长连接状态下,进行长连接的接口是无法和新的请求进行连接的,从而导致进程越来越多,使cpu和内存过度负载,导致服务器卡顿


原理: prefork模式的进程只能创建一个线程,所以说prefork是一个进程处理一个连接

20210422093911808.png

目录
相关文章
|
前端开发 JavaScript Java
计算机二级web题目(4)--CSS基础
计算机二级web题目(4)--CSS基础
151 1
|
前端开发 JavaScript Java
计算机二级web题目(3)--HTML基础
计算机二级web题目(3)--HTML基础
148 1
|
开发框架 网络协议 JavaScript
计算机二级web题目(1)--web基础
计算机二级web题目(1)--web基础
193 1
|
Apache
Web基础(下)
Web基础(下)
118 0
Web基础(下)
|
前端开发 JavaScript 人机交互
Web开发及人机交互导论 实验九 JavaScript基础
Web开发及人机交互导论 实验九 JavaScript基础
285 0
Web开发及人机交互导论 实验九 JavaScript基础
|
前端开发 人机交互
Web开发及人机交互导论 实验三 CSS+DIV基础
Web开发及人机交互导论 实验三 CSS+DIV基础
163 0
Web开发及人机交互导论 实验三 CSS+DIV基础
|
域名解析 网络协议 网络架构
《图解HTTP》-WEB及网络基础学习笔记
简单来说,客户端就是个人使用的电脑,而服务端就是服务器。通过电脑访问服务器上的资源,用的就是HTTP协议。
122 0
《图解HTTP》-WEB及网络基础学习笔记
|
Java Linux 开发工具
一、搭建SpringBoot2.0.0M4基础Web项目
搭建SpringBoot2.0.0M4基础Web项目
97 0
一、搭建SpringBoot2.0.0M4基础Web项目
|
域名解析 缓存 网络协议
Web基础与HTTP协议
域名概念回顾: IP地址不易记忆,域名用于代替IP地址,方便记忆。 两台主机通信,是通过IP地址访问,所以需要将域名解析成IP地址。 早期使用Hosts文件解析域名,但随着域名的增多,工作量巨大,维护困难。 之后使用DNS (Domain Name Server,域名服务器) 进行域名解析。
172 0
|
安全 测试技术 数据库
猿创征文|Python基础——Visual Studio版本——Web开发
猿创征文|Python基础——Visual Studio版本——Web开发
216 0
猿创征文|Python基础——Visual Studio版本——Web开发