14、web服务器介绍
14.1、用户访问网站流程:
1、 dns解析原理:
客户端到dns服务器之间的查询为递归查询;
dns服务器到根域名服务器的查询是迭代查询;
[lc@m01 ~]$ dig www.baidu.com +trace #跟踪解析百度域名的过程;
nslookup #解析域名
2、tcp/ip 三次握手原理:
3、http协议原理(www服务的请求过程)请求细节:
(1)http协议简介:
http协议,全称是HyperText Transfer Protocol,中文名为超文本传输协议,是互联网中常用的一种网络协议,http的重要应用之一是www服务。
http协议是 b/s架构 (瘦客户端,擅长广域网);c/s架构(胖客户端),适合于局域网 www全称是world wide web 常称为web,中文翻译为万维网;
http协议的www服务应用的的默认端口号为80,另外的一个加密的www服务应用https服务的默认端口号是443,
主要用于网银、支付等和钱相关的业务。
(2)、http版本介绍:
1.0版本:
只保持短暂的连接,浏览器每次的http请求都需要与服务器建立一个tcp连接,服务器
完成请求处理后即断开tcp连接,服务器不跟踪每个客户也不记录过去的请求;
1.1版本:
在连接方面是持久的连接,浏览器的多个http请求可以在一个tcp连接上传送;
(3)http报文:
A、HTTP请求报文格式:
HTTP请求报文主要由请求行、请求头部、请求正文3部分组成
a、请求行:
由3部分组成,分别为:请求方法、URL(见备注1)以及协议版本,之间由空格分隔;
请求方法包括GET、HEAD、PUT、POST、TRACE、OPTIONS、DELETE以及扩展方法,当然并不是所有的服务器都实现了所有的方法;
部分方法即便支持,处于安全性的考虑也是不可用的协议版本的格式为:HTTP/主版本号.次版本号,常用的有HTTP/1.0和HTTP/1.
b、请求头部
请求头部为请求报文添加了一些附加信息,由“名/值”对组成,每行一对,名和值之间使用冒号分隔 ;
c、 请求正文:
可选部分,比如GET请求就没有请求正文
d、http,请求实例:
B、HTTP响应报文格式:
HTTP响应报文主要由状态行、响应头部、响应正文3部分组成
a、状态行:
状态代码为3位数字,200~299的状态码表示成功,300~399的状态码指资源重定向,400~499的状态码指客户端请求出错,
500~599的状态码指服务端出错(HTTP/1.1向协议中引入了信息性状态码,范围为100~199);
常用状态码:
200:服务器成功返回网页,这是成功的http请求;
301:永久跳转,客户端所有请求将永久跳转到被设定的新的位置;
403:禁止访问,这个请求是合法的,但是服务器端因为匹配了预先设置的规则而拒绝
响应客户端的请求,此类问题一般是服务器权限配置不当所导致的;
401:(未授权) 请求要求进行身份验证。登录后,服务器可能会返回对页面的此响应。
404:服务器找不到客户请求的指定页面,可能是客户端请求了服务器上不存在的资源;
500:内部服务器错误,服务器遇到意料不到的情况,不能完成客户的请求,这是一个比较
笼统的报错,一般为服务器的设置或者内部程序问题导致。列如selinux开启,没有为
http设置规则许可。
502:坏的网关,一般是代理服务器请求后端服务时,后端服务不可用或没有完成相应网关
服务器,一般为反向代理服务器下面的节点出现问题;
503:服务当前不可用,可能是因为服务器超载或停机维护导致;
b、响应头部:
与请求头部类似,为响应报文添加了一些附加信息;
c、响应正文:
网页的内容;
d、相应实例:
4、大规模网站集群架构细节;
5、tcp/ip四次挥手过程;
14.2、http媒体类型及url-uri介绍:
1、url:
全称Uniform Resource Location ,中文翻译为统一资源定位符,也被称为网页地址(网址),类似于门牌,是因特网上标准的资源唯一地址。
2、uri:
全称Uniform Resource Identifier ,中文翻译为统一资源标识符,是一个用于标识某一互联网资源名称的字符串,
这个字符串在世界范围内唯一标识并定位某一个信息资源,互联网上每个可用的数据资源,入HTML、图片、视频等
皆通过统一资源标识符进行定位。
注:url是url的一个子集。
3、URI、URL和URN之间的区别:
URI全名为Uniform Resource Indentifier(统一资源标识),用来唯一的标识一个资源,是一个通用的概念,
URI由两个主要的子集URL和URN组成;
URL全名为Uniform Resource Locator(统一资源定位),通过描述资源的位置来标识资源;
URN全名为Uniform Resource Name(统一资源命名),通过资源的名字来标识资源,与其所处的位置无关,
这样即使资源的位置发生变动,其URN也不会变化;
HTTP规范将更通用的概念URI作为其资源标识符,但是实际上,HTTP应用程序处理的只是URI的URL子集
14.3、动态网页:
动态的并发是1000-2000,静态2-3万;
seo:搜索引擎优化;
14.3、网站访问度量:
14、web服务器介绍的更多相关文章
- Java中常见的5种WEB服务器介绍
这篇文章主要介绍了Java中常见的5种WEB服务器介绍,它们分别是Tomcat.Resin.JBoss.WebSphere.WebLogic,需要的朋友可以参考下 Web服务器是运行及发布Web应用的 ...
- WEB服务器1--开篇
WEB服务器 web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档,也可以放置网站文件,让全世界浏览:可以放置数据文件,让全世界下载.目前最主流的三 ...
- asp.net core 系列 18 web服务器实现
一. ASP.NET Core Module 在介绍ASP.NET Core Web实现之前,先来了解下ASP.NET Core Module.该模块是插入 IIS 管道的本机 IIS 模块(本机是指 ...
- net core web服务器实现
net core 系列 18 web服务器实现 一. ASP.NET Core Module 在介绍ASP.NET Core Web实现之前,先来了解下ASP.NET Core Module.该模块是 ...
- JavaWeb-入门第一课-1.静态web动态web 2.web服务器 3.下载和安装Tomcat-web服务器
文章来源:http://www.cnblogs.com/xdp-gacl/p/3729033.html 1.1.WEB开发的相关知识 WEB,在英语中web即表示网页的意思 静态web资源(如html ...
- Web服务器学习总结(一):web服务器简介
一.WEB服务器 1.1.WEB服务器简介 1.Web服务器是指驻留于因特网上某种类型计算机的程序,是可以向发出请求的浏览器提供文档的程序.当Web浏览器(客户端)连到服务器上并请求文件时,服务器将处 ...
- Node.js学习笔记(五) --- 使用Node.js搭建Web服务器
1. Node.js 创建的第一个应用 1.引入http模块 var http = require("http"); 2. 创建服务器接下来我们使用 http.createServ ...
- 十七、创建一个 WEB 服务器(一)
1.Node.js 创建的第一个应用 var http=require("http") http.createServer(function (req,res) { res.wri ...
- java web服务器tomcat介绍【转载】
机器矩阵2016-08-10 22:14 java程序员亲切地称他为tom猫,看到这只猫可以说明1 服务器部署成功了 ,2 网络是联通的. 到底这只猫是什么来头呢? tomcat是Apache基金会下 ...
随机推荐
- [刷题] PTA 7-64 最长对称子串
7-64 最长对称子串 我的代码: 1 #include<stdio.h> 2 #include<string.h> 3 #define N 1001 4 5 int main ...
- [c++] 内存与变量
内存 程序代码区用来保存指令,常量区.全局数据区.堆.栈都用来保存数据 常量区和全局数据区有时也被合称为静态数据区,意思是这段内存专门用来保存数据,在程序运行期间一直存在 函数被调用时,会将参数.局部 ...
- 在Linux中通过Top运行进程查找最高内存和CPU使用率
按内存使用情况查找前15个进程,在批处理模式下为"top" 使用top命令查看有关当前状态,系统使用情况的更详细信息:正常运行时间,负载平均值和进程总数. 分类:Linux命令操作 ...
- Docker Swarm(二)常用命令
# 管理配置文件 docker config # 查看已创建配置文件 - docker config ls # 将已有配置文件添加到docker配置文件中 - dock ...
- Zabbix5.0服务端部署
Zabbix5.0服务端部署 基础环境配置 [root@localhost ~]# systemctl disable --now firewalld Removed symlink /etc/sys ...
- Ansible_实施处理程序
一.Ansible配置处理程序 1.处理程序 1️⃣:处理程序是响应由其他任务触发的通知的任务 2️⃣:仅当任务在受管主机上更改了某些内容时,任务才通知其处理程序 3️⃣:每个处理程序具有全局唯一的名 ...
- python基础之面向对象(三))(实战:烤地瓜(SweetPotato))
一.分析"烤地瓜"的属性和方法 示例属性如下: cookedLevel : 这是数字:0~3表示还是生的,超过3表示半生不熟,超过5表示已经烤好了,超过8表示已经烤成木炭了!我们的 ...
- Linux进阶之Jenkins持续集成介绍及安装演示
一.Jenkins介绍 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能. Jenkins功能包 ...
- Deploying Portainer CE in Docker
Portainer是一个轻量级的管理UI,它允许你轻松地管理你的Docker和Kubernetes集群 https://documentation.portainer.io/v2.0/deploy/c ...
- Steam游戏《Northgard(北境之地)》修改器制作
日期:2021.06.07 博客期:181 星期一 [温馨提示]: 我现在把资源先放到开头,不想研究学习的就直接取用.如果修改器失效了,你们可以在博客园本页直接评论,也可以给我发邮件告诉我,就是不要到 ...