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服务器介绍的更多相关文章

  1. Java中常见的5种WEB服务器介绍

    这篇文章主要介绍了Java中常见的5种WEB服务器介绍,它们分别是Tomcat.Resin.JBoss.WebSphere.WebLogic,需要的朋友可以参考下 Web服务器是运行及发布Web应用的 ...

  2. WEB服务器1--开篇

    WEB服务器 web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档,也可以放置网站文件,让全世界浏览:可以放置数据文件,让全世界下载.目前最主流的三 ...

  3. asp.net core 系列 18 web服务器实现

    一. ASP.NET Core Module 在介绍ASP.NET Core Web实现之前,先来了解下ASP.NET Core Module.该模块是插入 IIS 管道的本机 IIS 模块(本机是指 ...

  4. net core web服务器实现

    net core 系列 18 web服务器实现 一. ASP.NET Core Module 在介绍ASP.NET Core Web实现之前,先来了解下ASP.NET Core Module.该模块是 ...

  5. 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 ...

  6. Web服务器学习总结(一):web服务器简介

    一.WEB服务器 1.1.WEB服务器简介 1.Web服务器是指驻留于因特网上某种类型计算机的程序,是可以向发出请求的浏览器提供文档的程序.当Web浏览器(客户端)连到服务器上并请求文件时,服务器将处 ...

  7. Node.js学习笔记(五) --- 使用Node.js搭建Web服务器

    1. Node.js 创建的第一个应用 1.引入http模块 var http = require("http"); 2. 创建服务器接下来我们使用 http.createServ ...

  8. 十七、创建一个 WEB 服务器(一)

    1.Node.js 创建的第一个应用 var http=require("http") http.createServer(function (req,res) { res.wri ...

  9. java web服务器tomcat介绍【转载】

    机器矩阵2016-08-10 22:14 java程序员亲切地称他为tom猫,看到这只猫可以说明1 服务器部署成功了 ,2 网络是联通的. 到底这只猫是什么来头呢? tomcat是Apache基金会下 ...

随机推荐

  1. 什么是环境变量,Linux环境变量及作用 echo

    什么是环境变量,Linux环境变量及作用 < Linux命令的执行过程是怎样的?(新手必读)Linux PATH环境变量是什么,有什么用?(入门必读) > <Linux就该这么学&g ...

  2. nginx反向代理网站镜像

    某些公司会墙特定网站,如果你有一个可访问的域名和服务器,就可以通过nginx反向代理来来解决这些问题.比如现在我们用mirror.example.com镜像www.baidu.com,以下是详细操作. ...

  3. 统计行数、文件夹个数、文件个数的相关shell命令

    极客君最近做项目,刚好遇到需要统计一些sql文件数量的问题,用到一些实用的shell命令,记录下来,以后万一还能用上呢? 如果在终端不打开文件看到一共多少行,则可以使用wc命令来实现: wc -l [ ...

  4. SpringMVC学习笔记-REST风格请求实现

    RESTful概念及功能 RESTful的概念:RESTful是 一种资源定位及资源操作的风格,其本身既不是标准也不是协议,而是一种设计风格,可以使得软件整体层次更加分明.代码更加简洁,并且有利于实现 ...

  5. java并发编程工具类JUC第二篇:ArrayBlockingQueue

    类ArrayBlockingQueue是BlockingQueue接口的实现类,它是有界的阻塞队列,内部使用数组存储队列元素.这里的"有界"是指存储容量存在上限,不能无限存储元素. ...

  6. Go语言介绍(背景、特点)

    一.go语言的背景 Go是一个开源的编程语言,它能让构造简单.可靠且高效的软件变得容易. Go(又称 Golang)是 Google 的 Rob Pike(罗勃.派克),Ken Thompson(肯· ...

  7. Linux基础服务——Bind DNS服务 Part1

    Linux基础服务--Bind DNS服务 Part1 DNS正向解析 实验环境: CentOS8.3.2011 IP地址:192.168.100.50 VMware虚拟环境 NAT网段 需要解析的区 ...

  8. TVM代码生成codegen

    TVM代码生成codegen 硬件后端提供程序(例如Intel,NVIDIA,ARM等),提供诸如cuBLAS或cuDNN之类的内核库以及许多常用的深度学习内核,或者提供框架例,如带有图形引擎的DNN ...

  9. 端到端TVM编译器(下)

    端到端TVM编译器(下) 4.3 Tensorization DL工作负载具有很高的运算强度,通常可以分解为张量运算符,如矩阵乘法或一维卷积.这些自然分解导致了最近的添加张量计算原语.这些新的原语带来 ...

  10. 使用Auto TensorCore CodeGen优化Matmul

    使用Auto TensorCore CodeGen优化Matmul 本文将演示如何使用TVM Auto TensorCore CodeGen在Volta / Turing GPU上编写高性能matmu ...