web第一课

来源:互联网 发布:网络黑白 花无涯下载 编辑:程序博客网 时间:2024/04/30 04:20
数据传输
1 TCP/IP协议
应用层 :我们编写程序位于应用层,应用程序是和tcp/udp打交道 http.ftp位于应用层
传输层 :TCP/UDP
网络层 :IP层
数据链路层:以太网 ,ATM(硬件的接口)
2物理传输介质


建立连接步骤
syn=1带代表已经连接了 ACK代表连接状态 ack:确认码 seq:顺序码(随机产生的)
客户端 -------------------------------------------------服务器
ACK=0(单方面的0就是服务器未响应)SYN=1()------如果响应被动的new ServerSocket
第一次:客户端到服务器 ACK=0,SYN=1; seq=x;
第二次:服务器到客户端 SYN=1,ACK=1,ack=x+1(ack对应客户) seq=y(服务器产生的)
第三次:客户端到服务器 ACK=1,seq=x+1,ack=y+1 服务器端确定了连接有效
实现了三次握手
client 客户端
创建serversocket(端口号)
connect()连接指定的计算机端口 (ip,端口)
send(); 网socket写入信息
关闭socket()
server 服务器端
serversocket();
bind()绑定socket和端口号
listen()监听端口
accpet()接受客户端传递过来的内容
读取字符
关闭
BS架构
浏览器到服务器
通过域名加上端口号再通过 服务器,服务器通过http协议解析
服务器在发送数据给浏览器

http协议
http:超文本传输协议 超文本:可以发送文件视屏音频
网络通信中的一种规则,属于应用层的协议 端口号 80 ftp文件传输协议 21
http :无状态的协议 ,客户机和服务期之间不需要建立持久的连接,通信完就断开
遵循请求响应模型,所有的通信都构造在请求响应模型中,客户端和服务器交换数据
http: 版本号 1.1 特性:默认连接一直保持,访问一个url发送多次请求,只依靠一个tcp连接就可以.

http的工作流程
1 客户端的服务器建立连接,new Socket()
2 客户端发送请求
请求内容: a,请求行,请求的方法 ,http版本
b 请求头,http头传递的元信息,告诉服务器客户端的一些信息
c,空行,发送回车符或则空格,区分请求头和消息体
d,消息题,存放用户传输的内容,post请求
3 浏览器响应内容
相应内容:a,状态行,http版本和状态码
b,响应头 ,包括内容的描述,长度,事件戳,服务器的信息
c,空行:发送回车符和空格
d,消息体,响应的内容
4 服务器关闭连接,客户端解析服务器发送回来的内容
服务器缺陷 :无法提供动态页面,,后面通过应用程序CGI解决
动态数据多了一个cgi 还有一个后台的维护程序 ,还有一个数据库
浏览器只是负责显示和操作页面
CGI的缺陷:每次访问都会创建一个进程,进程多了就崩溃了
第二种 servlet 多线程来解决
第三种 分布式服务器
第四种 云服务器

Servlet是常规的java代码但是用到了新的API,没有main方法,不属于java se
属于独立的规范 对标准类(HttpServlet)进行扩张
servlet任务
读取客户端发送的显示和隐式数据
生成结果
形象客户端发送显示数据(就是文档)和影式数据(http显示数据)

servlet以及容器来解决CGI效率的问题会创建一个健壮的环境
1运行web服务器或者应用服务器上面的一个java程序,只要用于生成动态的内容
2servlet是与平台无关的java程序

web容器 :由于servlet没有方法所以需要容器来调用、、
servlet受控于另一个java应用程序,称为web容器
web容器给处于里面的应用程序提供了一个运行环境,servlet直接给web容器的环境 变量进行通信,没有必要关注其他系统的问题
web容器主要是由web服务器来实现

容器对servlet的支持包括
通信支持 生命周期管理 多线程支持 jsp支持 处理安全性

常见的服务器 :
IIS (微软公司) apache tomcat--web容器 jboss-ejb的容器 weblogic-分布式的功能

tomcat:
tomcat源于apache寂静会里面的一个项目,他是一个web容器,又是一个http服务器
开源,稳定,高效,免费。
tomcat目录的结构:
bin:存放启动和关闭tomcat的脚本文件。
conf:存放tomcat的各种配置
lib:服务器支撑的jar包
logs:主要存放日志文件
temp:存放临时文件
webhapps:web应用存放的目录,外界能够存放的web应用程序.
work:工作目录,jsp生成的代码
java工程结构
JavaWeb02----------工程名字
src:存放代码
webroot:
WEB-INFO----客户端无法访问
lib:存放当前支撑项目的jar包
classes:存放房钱代码的编译文件
web.xml 工程的配置文件

html
css
image

0 0