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基金会下 ...
随机推荐
- 1080p就是1920*1080,2k就是2560*1440,4k就是3840*2160
1080p就是1920*1080,2k就是2560*1440,4k就是3840*2160 作者:容易视听链接:https://www.zhihu.com/question/24205632/answe ...
- ltp
1.查找文件 find / -name 'filename' 1 2.查找目录 find / -name 'path' -type d 1 3.查找内容 # find .| xargs grep ...
- zabbix官方源替换为阿里云的zabbix源,一键脚本。(安装zabbix报错curl#18 - "transfer closed with 2988713 bytes remaining to read":15 ETA Trying other mirro)
最近突然安装zabbix总是报错,比如 (24/27): t1lib-5.1.2-14.el7.x86_64.rpm | 166 kB 00:00:00 zabbix-web-4.4.6-1.el7. ...
- python基础之psutil模块和发邮件(smtplib和yagmail)
除了内建的模块外,Python还有大量的第三方模块. 基本上,所有的第三方模块都会在PyPI - the Python Package Index上注册,只要找到对应的模块名字,即可用pip安装. 此 ...
- Stm32高级定时器(转自:luowei_memory)
1 定时器的用途 2 高级定时器框图 3 时基单元 4 通道 1 定时器的用途 已知一个波形求另一个未知波形(信号长度和占空比) 已知波形的信号长度和占空比产生一个相应的波形 增量正交编码器驱动电机获 ...
- python文件处理(对比和筛选)
#!/user/bin/python #!coding=utf-8 # -*- coding: utf-8 -*- # 2017-9-25 #author:jingwenshuai import sy ...
- 解决无法访问github的问题
当我们想学习下载某个大神分享的github项目时,由于github域名解析异常,时常会无法访问Github网站. 下面是我总结分享的有效解决方法:思路是自己手动修改hosts文件添加域名解析! 下面教 ...
- 基于 element-plus 封装一个依赖 json 动态渲染的查询控件
前情回顾 基于 el-form 封装一个依赖 json 动态渲染的表单控件 Vue3 封装第三方组件(一)做一个合格的传声筒 功能 使用 vue3 + element-plus 封装了一个查询控件,专 ...
- GO学习-(18) Go语言基础之并发
Go语言基础之并发 并发是编程里面一个非常重要的概念,Go语言在语言层面天生支持并发,这也是Go语言流行的一个很重要的原因. Go语言中的并发编程 并发与并行 并发:同一时间段内执行多个任务(你在用微 ...
- python 导入同级目录文件、上级目录文件以及下级目录数据集和模块包
划重点: 其中dataset_path = ''表示在Python工作文件夹 dataset_path = '..'表示在Python工作文件夹的上级文件夹 dataset_path = '某某文件夹 ...