web基础知识回顾(一)

tech2024-07-12  55

一.网络的历史

1. 网络

网络:就是把各种终端连在一起,就成了网络。

PC,手机,IP电视,,电话 ??

2. 网络分类

3. 主要功能

二. 网络协议

1. 网络分层

2.1 网络层--IP协议

IP(网络之间互连的协议)

如何获取ip

静态ip动态ip  -- DHCP

2.2.传输层--TCP/UDP

2.1 TCP(传输控制协议)

三次握手:

 2.2 UDP(用户数据报协议)

3. 应用层--DNS,DHCP,FTP,HTTP

3.1 DNS

3.2 DHCP

3.3 FTP(文件传输协议)

4. 应用层--HTTP

4.1 概念

4.2 http请求

Request

请求

URL: get请求request body: post请求

Get与POST的区别

Get是从服务器上获取数据,POST是传送数据给服务器。Get是不安全的,因为在传输过程,数据被放在请求的URL中;Post的所有操作对用户来说都是不可见的。Get传送的数据量较小,这主要是因为受URL长度限制;Post传送的数据量较大,一般被默认为不受限制。Get限制Form表单的数据集的值必须为ASCII字符;而Post支持整个ISO10646字符集。Get执行效率却比Post方法好。Get是form提交的默认方法。 

Response

状态码(Status Code)

三. 常用web服务器

1.Apache

Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上。Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。Apache取自"a patchy server"的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。 特点就是处理php页面,如果需要执行php的内容过多可以采用apache,如果静态内容多可以用Nginx。

2.IIS

IIS是英文Internet Information Server的缩写,译成中文就是"Internet信息服务"的意思。它是微软公司主推的服务器,最新的版本是Windows2016里面包含的IIS 10,IIS与Window Server完全集成在一起,因而用户能够利用Windows Server和NTFS(NT File System,NT的文件系统)内置的安全特性,建立强大,灵活而安全的Internet和Intranet站点。

服务器版本IIS默认版本server20036.0server20087.0server2008 r27.5server20128.0server201610windows服务器的首选,稳定性好。网站需要支持asp、asp.net的就需要用iis了

3.GFE

google的web服务器,用户数量激增。目前紧逼iis。

4.Nginx

Nginx不仅是一个小巧且高效的HTTP服务器,也可以做一个高效的负载均衡反向代理,通过它接受用户的请求并分发到多个Mongrel进程可以极大提高Rails应用的并发能力。

5.Lighttpd

Lighttpd是由德国人 Jan Kneschke 领导开发的,基于BSD许可的开源WEB服务器软件,其根本的目的是提供一个专门针对高性能网站,安全、快速、兼容性好并且灵活的web server环境。具有非常低的内存开销,CPU占用率低,效能好,以及丰富的模块等特点。Lighttpd 是众多OpenSource轻量级的web server中较为优秀的一个。支持FastCGI, CGI, Auth, 输出压缩(output compress), URL重写, Alias等重要功能。

6.Zeus

Zeus是一个运行于Unix下的非常优秀的Web Server,据说性能超过Apache,是效率最高的Web Server之一。

7.Sun

Sun的JAVA系统Web服务器也就是以前的Sun ONE Web Server。主要出现在那些运行Sun的Solaris操作系统的关键任务级Web服务器上。它最新的版本号是6.1,可以支持x86版本Solaris,Red Hat Linux,HP-UX 11i, IBM AIX,甚至可以支持Windows,但它的大多数用户都选择了SPARC版本的Solaris操作系统。

8.Resin

Resin提供了最快的jsp/servlets运行平台。在java和JavaScript的支持下,Resin可以为任务灵活选用合适的开发语言。Resin的一种先进的语言XSL(XML stylesheet language)可以使得形式和内容相分离。

9.Jetty

Jetty是一个开源的servlet容器,它为基于Java的web内容,例如JSP和servlet提供运行环境。Jetty是使用Java语言编写的,它的API以一组JAR包的形式发布。开发人员可以将Jetty容器实例化成一个对象,可以迅速为一些独立运行(stand-alone)的Java应用提供网络和web连接。

10.BEA WebLogic

BEA WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。 BEA WebLogic Server拥有处理关键Web应用系统问题所需的性能、可扩展性和高可用性。

11.Tomcat

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

12.Node.js

Node.js是一个Javascript运行环境(runtime)。实际上它是对Chrome V8引擎进行了封装。V8引 擎执行Javascript的速度非常快,性能非常好。Node.js对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行得更好。 Node.js是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞I/O模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。

 

申明:内容来自网络,仅供学习使用

最新回复(0)