http-web基础

Web基础:

1.1网络基础tcp/ip

计算机两边想要通信,双方就要基于相同的方法。基于c/s机制,确定谁是客户端,服务端。不同的硬件,操作系统之间的通信,所有的一切需要一种规则,我们就把这种规则称为协议。

协议中存在各种各样的内容,像这样把相关联的协议集合起来总称为tcp/ip。

利用tcp/ip通信,发送方会从上往下走,发送到服务器端在从下网上走。

首先服务器方要先启动,并根据请示提供相应服务:

1、打开一通信通道并告知本地主机,它愿意在某一个公认地址上接收客户请求。

2、在传输层把从应用层接受到的请求报文分割,

3、接收到重复服务请求,处理该请求并发送应答信号。

4、返回第二步,等待另一客户请求

5、关闭服务器。

tcp协议:面向连接协议,可靠,稳定。通信前建立链路,结束后拆除链路。端口范围:0-65535

udp协议:无连接协议,速度快。端口范围:0-65535

IANA:

0-1023:永久的分配给固定的应用使用:

1024-41951:注册端口,要求并不是特别严格,分配给程序注册为某应用使用。

套接字:

Socket:ipc的一种实现:允许位于不同主机(甚至同一主机)上,不同进程之间通信,实现数据交换。

tcp套接字:SOCK_STREAM

udp套接字:SOCK_DGRAM

裸套接字:SOCK_RAM

tcp协议的特性:

tcp位于传输层,提供可靠的字节流服务:

字节流服务:将大块数据分割成以报文段为单位的数据包进行管理。

可靠性传输:采用三次握手策略,当tcp把数据包传送过去之后,会确认数据包是否到达。如果数据包莫名中断,tcp协议会再次发送相同数据包。

套接字系统调用:

socket():创建一个套接字;

bind():绑定

listen():监听

accept():接收请求

connect():请求连接建立

write():发送

read():接收

send(),rcv(),sendto(),recvfrom()

网页基础知识:

http:hyper text transfer protocol

Html:编程语言,超文本标记语言;

<html>

<head>

<title>TITLE</title>

</head>

<body>

<h1></h1>

<p>blabla <a href=”http://www.a.com/log.jpg”>blabla</a></p>

</body>

</html>

CSS:层叠样式表

Js:javascript

URL和URI:

URL:(Uniform Resource Locator)统一资源定位符

URI:(Uniform Resource ldentifier)同一资源标识符

URI的格式:

scheme://user:[email protected]:80/html/index.html.uid=1#ch1

方案名 // 用户名,密码@主机名称:端口/带层次的文件路径?查询字段#片段标识符

http协议版本:

http/0.9:原型版本

http/1.0:

http/1.1:

http/2.0

1.2http请求模型:

http协议是客户端发送请求,服务器端回应。

一次完整的http请求;

1.建立请求

持久连接

非持久连接

2.接收请求:

接受来自网络的请求报文中对某一个请求的过程:

并发响应模型(web I/O):

单进程I/O结构:启动一个处理用户请求,而且一次只处理1个,多个请求被串行响应:

多进程I/O结构:并行启动多个进程,每个进程响应一个请求

复用I/O结构:一个进程响应多个请求:

多线程模型:一个进程生成多个线程,每个线程响应多个请求;

事件驱动

复用的多进程I/O结构:启动多个(m)进程,每个进程响应n个请求;

3.处理了请求:对请求报文进行分析,并获取请求的资源以及请求的方法相关信息

元数据:请求报文首部

<method><URL><VERSION>

Host:www.a.com 请求的主机名称

Connection:

4.访问资源:获取请求报文中请求的资源

web服务器,既存放了web资源的服务器,负责向请求者提供对方请求的静态资源,或动态运行后生成的资源,这些资源放在本地某个路径下,此路径称为DocRoot

/var/www/html/image/Log.jpg

www.a.com/image/Log.jpg

web服务器资源路径映射方式:

DocRoot

Alias

虚拟主机DocRoot

用户家目录DocRoot

5.创建响应报文

资源MIME类型:

显示分类:

魔法分类:

协商分类:

重定向:

web服务器构建响应并非客户端请求的资源,而是资源另外一个访问路径

6.发送响应报文

7.记录日志

http服务器程序:

httpd(apache)

Nginx

应用程序服务器:

IIS

Tomcat,jetty

httpd的特性:

高度模块化:core+modules

DSO:dynamic shared o‘bject

MPM:多线程处理模块

Prefork:多进程模型,每个进程响应一个请求:

一个主进程,负责生成n个子进程,子进程也成为工作进程,每个子进程处理一个用户请求,即使没有用户请求,也会预先生成多个空闲进程,随时等待请求到达,最大不会超过1024个。

Worker:多线程模型,每个线程响应一个请求;

一个主进程:生成多个子进程,每个子进程负责生成多个线程,每个线程响应一个请求;

m进程,n线程:m*n

Event:事件驱动模型,每个线程响应n个请求:(httpd-2.4)

一个主进程:生成n个子进程,每个子进程直接n个请求;

m*n

httpd的功能特性:

虚拟主机

Ip,port,FQDN

CGI:通用网关接口 实在动态页面的技术。

反向代理

负载均衡

路径别名

丰富的认证机制:basic,digest

支持第三方模块

时间: 2024-10-29 19:07:14

http-web基础的相关文章

web基础知识(一)关于ajax传值最基础东西

HTTP方法之 GET对比POST GET:从指定的资源请求数据, POST:向指定的资源提交要被处理的数据 GET方法: 请注意,查询字符串(名称/值对)是在 GET 请求的 URL 中发送的: /test/demo_form.asp?name1=value1&name2=value2 有关 GET 请求的其他一些注释: GET 请求可被缓存 GET 请求保留在浏览器历史记录中 GET 请求可被收藏为书签 GET 请求不应在处理敏感数据时使用 GET 请求有长度限制 GET 请求只应当用于取回

20145301赵嘉鑫《网络对抗》Exp8 Web基础

20145301赵嘉鑫<网络对抗>Exp8 Web基础 基础问题回答 什么是表单? 表单是一个包含表单元素的区域,主要负责数据采集部分.表单元素允许用户在表单中输入信息.一个表单有三个基本组成部分:表单标签.表单域.表单按钮: 表单标签:包含处理表单数据所用的URL以及数据提交到服务器的方法: 表单域:包含了文本框.密码框.多行文本框.下拉选择框等等: 表单按钮:包括提交按钮.复位按钮和一般按钮. 浏览器可以解析运行什么语言? 支持HTML(超文本标记语言).XML(可扩展标记语言)以及Pyt

Web基础架构:负载均衡和LVS

在大规模互联网应用中,负载均衡设备是必不可少的一个节点,源于互联网应用的高并发和大流量的冲击压力,我们通常会在服务端部署多个无状态的应用服务器和若干有状态的存储服务器(数据库.缓存等等). 一.负载均衡的作用 负载均衡设备的任务就是作为应用服务器流量的入口,首先挑选最合适的一台服务器,然后将客户端的请求转发给这台服务器处理,实现客户端到真实服务端 的透明转发.最近几年很火的「云计算」以及分布式架构,本质上也是将后端服务器作为计算资源.存储资源,由某台管理服务器封装成一个服务对外提供,客户端 不需

20145321 《网络对抗》 Web基础

20145321 <网络对抗> Web基础 基础问题回答 (1)什么是表单 表单在网页中主要负责数据采集功能,一个表单有三个基本组成部分:表单标签--这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法:表单域--包含了文本框.密码框.隐藏域.多行文本框.复选框.单选框.下拉选择框和文件上传框等:表单按钮:包括提交按钮.复位按钮和一般按钮. (2)浏览器可以解析运行什么语言. HTML语言.XML语言.脚本语言(Java.PHP.Script.JavaScript-) (3

20145331魏澍琛《网络对抗》Exp8 Web基础

20145331魏澍琛<网络对抗>Exp8 Web基础 实践内容: 1.简单的web前端页面(HTML.CSS等) 2.简单的web后台数据处理(PHP) 3.Mysql数据库 4.一个简单的web登陆页面例子 5.SQL注入.XSS攻击 Web前端:HTML基础 1.先将apache的端口号设为80(上节已经设置好了),接着结束掉占用80端口的进程,再启动apache. 2.在/var/www/html目录下创建20145331wsc.html文件,即前端文件. 附:检查第一步是否成功只需在

20145311 王亦徐 《网络对抗技术》 Web基础

20145311 王亦徐 <网络对抗技术> Web基础 实验内容 简单的web前端页面(HTML.CSS等) 简单的web后台数据处理(PHP) Mysql数据库 一个简单的web登陆页面例子 SQL注入.XSS攻击 基础问题回答 (1)什么是表单 表单我觉得主要是用来在网页中采集数据用的,提供了填写数据.选择数据,收集数据并提交给后台的功能,包括很多种表单元素,例如文本框.下拉框.单选复选框等 百度上说一个表单有三个基本组成部分:表单标签(form).表单域(填写数据).表单按钮(提交) (

web基础--html

WebBasic 1.web应用体系 课程大纲 1.web基础:做网页 2.结构: a.html 勾勒网页结构及内容 b.css 美化网页 c.JavaScript<重点> 呈现动态数据和效果 3.JavaScript: --Java程序员使用JS实现页面的业务逻辑 --美工做出静态页面(html+css) 设备 Chrome.thinkpadX.thinkpadT.mac web三要素和http 2.html html(HyperText Markup Language) 1.html与xm

从Java Web 基础看SSH架构

Java Web开发现在已然成为大型Wed项目的标准,之前一直盲目的使用框架,往往知其然不知其所以然.在经过一段时间的学习与开发,大概掌握了其脉络的基础上,对其做一定总结. 一.Java Web 基础 一个典型的Java Web项目往往包含这些元素:Jsp页面.Servlet.Listener.Filter,以及配置文件web.xml.其中: Jsp和Servlet基本是一回事,主要用来响应客户端的请求.当然Jsp中可以直接嵌入HTML标签,主要还是负责展现. Listener则是负责监听Web

Java Web基础 --- Jsp 综述(上)

摘要: J2EE是一套规范,而Servlet/Jsp是J2EE规范的一部分,是Tomcat的主要实现部分.在最初的应用实践中,当用户向指定Servlet发送请求时,Servlet利用输出流动态生成HTML页面,这导致Servlet开发效率极为低下.JSP技术通过实现普通静态HTML和动态部分混合编码,使得逻辑内容与外观相分离,大大简化了表示层的实现,提高了开发效率.本文以JSP的本质是Servlet为主线,结合JSP转译后所得的Servlet,详细探讨了JSP的原理.执行过程.脚本元素.编译指令

Java Web基础 --- Jsp 综述(下)

摘要: JSP脚本中包含九个内置对象,它们都是Servlet-API接口的实例,并且JSP规范对它们进行了默认初始化.本文首先通过一个JSP实例来认识JSP内置对象的实质,紧接着以基于请求/响应架构应用的运行机制为背景,引出JSP/Servlet的通信方式与内置对象的作用域,并对每个内置对象的常见用法进行深入介绍和总结. 一. JSP 九大内置对象概述及相关概念说明 JSP脚本中包含九个内置对象,这九个内置对象都是 Servlet API 接口的实例,并且JSP规范对它们进行了默认初始化(由 J