您的位置:首页 > 理论基础 > 计算机网络

http-web基础

2015-10-17 19:20 344 查看

Web基础:

1.1网络基础tcp/ip

计算机两边想要通信,双方就要基于相同的方法。基于c/s机制,确定谁是客户端,服务端。不同的硬件,操作系统之间的通信,所有的一切需要一种规则,我们就把这种规则称为协议。协议中存在各种各样的内容,像这样把相关联的协议集合起来总称为tcp/ip。





利用tcp/ip通信,发送方会从上往下走,发送到服务器端在从下网上走。 首先服务器方要先启动,并根据请示提供相应服务:1、打开一通信通道并告知本地主机,它愿意在某一个公认地址上接收客户请求。2、在传输层把从应用层接受到的请求报文分割,3、接收到重复服务请求,处理该请求并发送应答信号。4、返回第二步,等待另一客户请求5、关闭服务器。 tcp协议:面向连接协议,可靠,稳定。通信前建立链路,结束后拆除链路。端口范围:0-65535udp协议:无连接协议,速度快。端口范围:0-65535IANA: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:pass@www.example.com: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.jpgwww.a.com/image/Log.jpg web服务器资源路径映射方式:DocRootAlias虚拟主机DocRoot用户家目录DocRoot 5.创建响应报文资源MIME类型:显示分类:魔法分类:协商分类:重定向:web服务器构建响应并非客户端请求的资源,而是资源另外一个访问路径 6.发送响应报文 7.记录日志
http服务器程序:
httpd(apache)Nginx 应用程序服务器:IISTomcat,jetty
httpd的特性:
高度模块化:core+modulesDSO:dynamic shared o'bjectMPM:多线程处理模块Prefork:多进程模型,每个进程响应一个请求:一个主进程,负责生成n个子进程,子进程也成为工作进程,每个子进程处理一个用户请求,即使没有用户请求,也会预先生成多个空闲进程,随时等待请求到达,最大不会超过1024个。 Worker:多线程模型,每个线程响应一个请求;一个主进程:生成多个子进程,每个子进程负责生成多个线程,每个线程响应一个请求;m进程,n线程:m*n Event:事件驱动模型,每个线程响应n个请求:(httpd-2.4)一个主进程:生成n个子进程,每个子进程直接n个请求;m*n
httpd的功能特性:
虚拟主机Ip,port,FQDNCGI:通用网关接口 实在动态页面的技术。反向代理负载均衡路径别名丰富的认证机制:basic,digest支持第三方模块
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  web