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基金会下 ...
随机推荐
- CentOS6 YUM 源失效问题解决办法
问题解决 网站好不容易找到一个 Yum 源还能用,地址:https://vault.centos.org/6.9/ 操作简单,把CentOS-Base.repo 里面的东西全部删掉,添加如下内容即可. ...
- C++知识点案例 笔记-6
1.三种友元函数 -非模板友元函数 -约束模板友元函数 -非约束模板友元函数 2.非类型参数 3.模板特化 1.三种友元函数 =====三种友元函数===== --1---非模板友元函数 #inclu ...
- python基础之面向对象(二)(封装、继承、多态)
一.封装 (1)封装是面向对象的一大特点 (2)面向对象编程的第一步--将属性和方法封装到一个抽象的类当中 (3)外界使用类创建对象,然后让对象调用方法 (4)对象方法的细节都被封装在类的内部 1.案 ...
- 007.kubernets的headless service配置和ingress的简单配置
前面配置了servcie的nodepoint和clusterIP附在均衡 一 headless service配置 1.1 默认下的DNS配置 [root@docker-server1 deploym ...
- Linux中级之ansible配置(playbook)
一.playbooks 如果用模块形式一般有幂等性,如果用shell或者command没有幂等性 playbooks相当于是shell脚本,可以把要执行的任务写到文件当中,一次执行,方便调用 task ...
- git push 时发生错误 error: src refspec master does not match any. error: failed to push some refs to
很多相关解决办法都是最后要 push 到远端的 master 上,但很多其实要求不能把个人的修改内容直接 push 到 master 主分支. 因此,当我想将本地 feature/work1 分支的修 ...
- Navicat Premium 15 linux 安装与激活 ArchLinux 2021
查看了很多教程花了半小时才弄好可真不容易 参考https://github.com/orginly/navicat-keygen 下载地址 http://www.navicat.com.cn/down ...
- 死磕nginx系列
死磕nginx系列 死磕nginx系列--nginx入门 死磕nginx系列--nginx配置文件 死磕nginx系统--nginx日志配置 死磕nginx系列--nginx服务器做web服务器 死磕 ...
- springboot项目添加swagger2
1.pom中添加swagger依赖 <!-- swagger-ui --> <dependency> <groupId>io.springfox</group ...
- Go timer 是如何被调度的?
hi,大家好,我是 haohongfan. 本篇文章剖析下 Go 定时器的相关内容.定时器不管是业务开发,还是基础架构开发,都是绕不过去的存在,由此可见定时器的重要程度. 我们不管用 NewTimer ...