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基金会下 ...
随机推荐
- (代替人类)很多操作都在Settings里面。 5.安装第三方库
2020-02-01 pycharm 使用教程 LingSmart关注 0.0842020.02.07 15:08:50字数 1,394阅读 680 实在无聊,就来学习吧.学习pycharm的使用教程 ...
- 【JDK命令行 一】手动编译Java源码与执行字节码命令合集(含外部依赖引用)
写作目标 记录常见的使用javac手动编译Java源码和java手动执行字节码的命令,一方面用于应对 Maven 和 Gradle 暂时无法使用的情况,临时生成class文件(使用自己的jar包):另 ...
- 血缘关系分析工具SQLFLOW--实践指南
SQLFlow 是用于追溯数据血缘关系的工具,它自诞生以来以帮助成千上万的工程师即用户解决了困扰许久的数据血缘梳理工作. 数据库中视图(View)的数据来自表(Table)或其他视图,视图中字段(Co ...
- SpringBoot2 集成测试组件,七种测试手段对比
一.背景描述 在版本开发中,时间段大致的划分为:需求,开发,测试: 需求阶段:理解需求做好接口设计: 开发阶段:完成功能开发和对接: 测试上线:自测,提测,修复,上线: 实际上开发阶段两个核心的工作, ...
- 将 maven repo 部署到 Gitlab
为什么要将 maven repo 部署到 Gitlab 将 Maven artifacts 放在对应的项目仓库下,而不是专门再去建一个 Maven 仓库.这么做使用起来更方便,更易于管理. 借助 Gi ...
- 如何优雅的做参数校验-JSR330
前言: 本文不是讲@Validate.@Valid是如何使用的.区别是什么,想看这些内容的请换篇文章. 背景: 当前端传过来的参数是进行对称性加密.base64加密等处理后过的参数时,在control ...
- Tomcat 服务器轻松部署 SSL 证书
Tomcat 服务器 SSL 证书安装部署 1准备服务器 购买网上各个产家的云服务器 或者在自己的电脑上装虚拟机 二者皆可,建议选择第一种,因为操作起来相对方便 2安装JDK 2.1上传JDK到Lin ...
- gin框架路由拆分与注册
gin框架路由拆分与注册 本文总结了我平时在项目中积累的关于gin框架路由拆分与注册的若干方法. gin框架路由拆分与注册 基本的路由注册 下面最基础的gin路由注册方式,适用于路由条目比较少的简单项 ...
- Step By Step(Lua迭代器和泛型for)
Step By Step(Lua迭代器和泛型for) 1. 迭代器与Closure: 在Lua中,迭代器通常为函数,每调用一次函数,即返回集合中的"下一个"元素.每个迭代器都 ...
- C# 移除字符串头尾指定字符
1 private void button1_Click(object sender, EventArgs e) 2 {//去掉字符串头尾指定字符 3 string MyInfo= "--中 ...