讲解web服务所涉及到的重要知识点
HTTP:超文本传输协议,默认为TCP的80端口。带有超级链接的文本,而这些链接成为超链接!
loadrunner :专业级测试工具,模拟你的应用程序的真实,进行评测!
HTML:超文本编辑语言。
HTML文档:实现将这些分散在多台web服务器上的资源整合成一个页面,并能够让浏览器显示的。
URI:统一资源标识符,用以定义可以在全局范围内唯一引用某一个独立的资源的命名方式!包括但不唯一引用互联网。
去标记唯一的定位一种资源访问路径的方式,路径格式上的统一。
URL:统一资源定位符统一资源标识符的子对象,统一资源定位符!用于描述在互联网上互联网资源的统一表示格式。
URL路径与本地路径不是一码事。
URL是相对于httpd配置文件中的DocumentRoot路径而言的,相对路径。
怎么去表示?
指明去获取资源的协议://指定服务器在什么主机上:指定在主机那个端口去获取/对应服务器上的路径/文件
http://www.baidu.com/sun/sun/txt
web资源/web对象:通过统一资源定位符唯一的标记标记他,并且能够让客户端去访问它的文件!
多个资源很可能被整合为一个HTML文档!
Apache是世界使用排名第一的Web服务器软件
httpd是Apache超文本传输协议(HTTP)服务器的主程序。
资源获取的方式/http方式:
MIME:多用途邮件扩展,将非文本数据在传输前重新编码为文本格式,接收方能够用相反的方式将其重新还原为原来的格式,还能用对用的程序打开此文件。
SMTP:简单邮件传输协议,只能传输纯文本,
index.heml:引用n个web对象,URL。
监听:监听在某一个端口上,等待客户端来请求。一旦用户来了,内核才知道用户来访问。
三种模型支持的并发连接数
prefork MPM :一个进程响应一个请求,最多1021个
worker MPM :一个线程响应一个进程,多进程,一个进程生成多个线程,
event MPM :基于事件驱动,比上面那两个要好
HTTP报文 ---->请求报文 ,响应报文。
http首部:
GET /.... :要获取那个文件
HOST:主机名 :要获取那个主机上的资源
请求报文的格式(客户端请求)
起始行 <method> :资源获取方法 <request-URL>:你请求的资源是什么(路径) <version>:对应请求协议的版本号(1.0/0.9)
报文首部 <headres>:http协议首部
空白行
<entity-body>:报文主体(报文内容)
响应报文的格式(服务器响应)
起始行 <version>:对应的版本 <status>:状态代码 <reason-phrase>:详细解释状态代码返回的信息
报文首部<headers>:响应报文首部
空白行 空白行
报文主题 <entity-body>:报文主体(报文内容)
状态代码 (你请求的结果是正确的还是失败的?)5类!
1xx:纯信息
2xx:成功类状态信息,请求内容成功。
200:请求内容正常
3xx:重定向类信息,你请求的内容存在,但被挪到其他地方去了。
301:永久挪到其他地方
302:临时重定向
304:没有发生任何改变
4xx:客户端错误类信息
404:请求了一个不存在的文件
5xx:服务器端错误类信息
web服务器的主要操作
1、建立连接----->接受或拒绝客户端连接请求
2、接受请求----->通过网络读取HTTP请求报文
3、处理请求-----> 解析请求报文并做出相应的动作
4、访问资源-----> 访问请求报文中相应的资源
5、构建响应-----> 使用正确的首部生成http响应报文
6、发送响应----->向客户端发送生成的响应报文
7、记录日志----->把已经完成的http事务记录进日志文件
缓存:每一个资源都要单独请求一次,(每张照片、每个超链接),所以,我们的服务器都是多线程的。将访问的东西都缓存到本地,第二次打开时会非常快。
http0.9版本:引入了MIME功能+
http1.1版本:加强缓存管理功能,引入长连接
长连接:客户端和服务器之间获取一个资源之后不断开,持续获取之后的资源,获取资源时间减少。
限定:1、空闲超时,若你请求完第一个、第二个资源之后再也不请求了,就让你断开,让后面人获取资源。
2、最多让你请求多少次
服务器处理模型(多道处理模块)
单线程服务器模型:有多个客户端请求,服务器处理完一个请求报文之后再处理第二个,依次执行。
多线程服务器模型:有多个客户端请求,服务器进程不直接响应给客户端,他只接受客户端请求。第一个请求来了,服务器自己不响应,
他生成一个子进程,让子进程去处理,第二个客户端请求,再次生成一个子进程,让新的子进程处理。服务器本身只接
收请求,让子进程去处理。
多进程,多线程:有一个主进程,和好多子进程,每个进程都能同时处理多个请求.
讲解web服务所涉及到的重要知识点的更多相关文章
- Android开发涉及有点概念&相关知识点(待写)
前言,承接之前的 IOS开发涉及有点概念&相关知识点,这次归纳的是Android开发相关,好废话不说了.. 先声明下,Android开发涉及概念比IOS杂很多,可能有很多都题不到的.. 首先由 ...
- IOS开发涉及有点概念&相关知识点
前言,IOS是基于UNIX的,用C/C+/OC直通系统底层,不想android有个jvm. 首先还是系统架构的分层架构 1.核心操作系统层 Core OS,就是内存管理.文件系统.电源管理等 2.核心 ...
- Java Web中涉及的编解码
用户从浏览器发起一个HTTP请求,存在编码的地方是URL.Cookie.Paramiter.服务器端接收到HTTP请求后要解析HTTP协议,其中URL.Cookie和POST表单参数要解码,服务器端可 ...
- ASP.NET MVC WEB API必知必会知识点总结
一.理解WEB API:提供基于RESTful架构的WEB服务,通过HTTP请求方法(GET, PUT, POST, DELETE)映射到服务器端相应的ACTION方法(CRUD). RESTful架 ...
- 对C#中的web访问mysql数据库的一些知识点进行了整理归纳总结
基本对比 使用方式 使用场合 优缺点 是否需要安装 需要的dll网址 引用方式 程序内引用 程序初期确定使用MySql,前期添加引用 大多数情况下使用在类文件内,多数使用于aspx,ashx等带有后置 ...
- ASP.NET Web API涉及到的上下文
1.表示请求的上下文:HttpRequestContext; 2.表示HttpController:HttpControllerContext; 3.表示Action方法:HttpActionCont ...
- JAVA WEB 中涉及的编解码
1.对URL解码 1)URI部分解码:<Connector URIEncoding="UTF-8" /> 2)QueryString解码要么是 Header 中 Con ...
- 从原理到方案,一步步讲解web移动端实现自适应等比缩放
前言 在移动端做自适应,我们常用的有媒体查询,rem ,em,宽度百分比这几种方案.但是都各有其缺点. 首先拿媒体查询来说,在某一个宽度区间内只能使用一种样式,为了适应不同屏幕要,css的代码量就会增 ...
- JAVA编程不得不看的几本经典书籍
为了帮助对java编程感兴趣的同学更好.更快的提高编程技术,武汉北大青鸟光谷校区专业老师在此推荐几本学习编程非常有用的书籍,以供大家参考. 入门类 1.<java从入门到精通>(第3版) ...
随机推荐
- Android项目实战(五十八):Android 保存图片文件到本地,相册/图库查看不到的处理
将一个图片文件写入到本地目录,然后去相册查看,会查找不到这个图片文件,但是去文件目录下查找,确确实实有该图片文件. 问题在于相册是一个独立的app,它并不会去刷新本地图片,所以需要在写图片文件成功之后 ...
- Spring Boot 2 读取配置文件
开发环境:IntelliJ IDEA 2019.2.2Spring Boot版本:2.1.8 新建一个名称为demo的Spring Boot项目. 一.默认配置文件 Spring Boot会读取名称a ...
- 网络编程~~~ socket(套字节)
一 socket (套接字) socket处于应用层与传输层之间,提供了一些简单的接口,避免与操作系统之间的对接,省去了相当繁琐复杂的操作. socket在python中属于一个模块,通过调用模块中已 ...
- list集合优化,泛型的使用以及坼箱和装箱
1.list vector线程同步,线程安全arraylist的运行速度较快,因为没有使用线程 LlinkedList以链表结构存储数据 2.泛型泛型类 泛型接口 泛型方法 泛型的属性泛型的属性 属性 ...
- 模版引擎Handlebars和Mustache
Handlebars是一款很高效的模版引擎,提供语意化的模版语句,最大的兼容Mustache模版引擎, 提供最大的Mustache模版引擎兼容, 无需学习新语法即可使用; 下面这个是基本的模版表达式, ...
- LG1840 Color the Axis 线段树
菜的人就要写简单题 为了练习手速来写这样一道 珂朵莉树 线段树简单题 没啥可说的,注意修改操作中要判一下 val=0 #include<bits/stdc++.h> using names ...
- 腾讯云服务器centos7.2+nginx(开启gzip压缩)+uwsgi+Django+react
因为项目原因,学习了react,Django,完成react开发项目过后,打包(做好了代码分割.压缩)放入Django中,在本地运行速度很快,结果放到服务器中,虽然某些js文件很小(只有一百多kb), ...
- Eclipse maven创建web项目报错Could not resolve archetype
1.下载http://repo1.maven.org/maven2/archetype-catalog.xml 通过eclipse下载和网页下载我这里都比较慢,最后用的迅雷下载 2.将本地xml文件配 ...
- 趣谈Linux操作系统学习笔记:第二十六讲
一.内核页表 和用户态页表不同,在系统初始化的时候,我们就要创建内核页表了 我们从内核页表的根swapper_pg_dir开始找线索,在linux-5.1.3/arch/x86/include/asm ...
- SQLserver无法删除数据库 "XXXX",因为该数据库当前正在使用。
问题描述: 有时候删除库的时候,会显示无法删除数据库,因为该数据库当前正在使用. 解决方法: 方法一: EXEC msdb.dbo.sp_delete_database_backuphistory @ ...