javaweb01

来源:互联网 发布:北京火锅知乎 编辑:程序博客网 时间:2024/05/17 20:39
OSI参考模型 TCP/IP 
七层 四层 三次握手


1.TCP/IP协议
应用层:我们编写的程序位于应用层,应用程序是和TCP/IP打交道 http、ftp
传输层:TCP/UDP
网络层:IP层
数据链路层:以太网,ATM,硬件的接口


--------------------物理传输介质-----------------


客户端                 服务器(被动打开)
1.---------------------》ACK=0(服务器未响应),SYN=1(已发起请求),seq=x(客户端随机码)服务器被动打开




2.《--------------------SYN=1,ACK=1,ack=x+1,seq=y




3.---------------------》ACK=1,seq=x+1,ack=y+1 服务器就知道当前这个用户连接有效


ACK:表示响应
SYN:表示建立连接
ack:确认码
seq:顺序码




CS架构通信
client


创建socket()
connect()连接指定的计算机端口(IP、端口)
send();socket写入信息
关闭socket()


server
serversocket();
bind();绑定socket和端口号
listen()监听端口
accept()接收客户端传递过来的内容
读取字符
关闭












http:
超文本传输协议。计算机网络通信中的一种规则,属于应用层的协议 端口号:80ftp:文件传输协议 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.服务器关闭连接,客户端解析服务器发送回来的内容








Servlet以及容器来结局CGI效率的问题,会创建一个健壮的环境
1.运行web服务器或应用服务器上面的一个Java程序,主要用于生成多态的内容
2.servlet是与平台无关的Java程序


 
读取客户端发送的显式和隐式数据
生成结果
向客户端发送显式和隐式数据




Servlet的特点




web容器


Servlet受控于另外一个Java应用程序,称为web容器
web容器给chuyu里面的应用程序提供了一个运行环境,Servlet直接跟web容器的环境变量进行通信
没有必要关注其他系统的问题
web容器主要是由web服务器来实现的




服务器:
IIS微软
apache
Tomcat----web容器
Jboss-ejb的容器
weblogic-分布式的功能


tomcat:
tomcat源于Apache基金会里面的一个项目。一个优秀的web容器,又是一个http容器
开源、稳定、高效、免费。

tomcat的目录结构
bin:存放启动和关闭tomcat的脚本文件
conf:存放Tomcat的各种配置
lib:服务器支撑的jar包
logs:主要存放日志文件
temp:存放临时文件
webapps:web应用的存放目录,外界能够访问的web应用
work:工作目录,jsp生成的代码存放在里面







































0 0