博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaWeb
阅读量:5076 次
发布时间:2019-06-12

本文共 1978 字,大约阅读时间需要 6 分钟。

HTTP协议原理

  • socket默认使用tcp协议
  • http协议是处于应用层的协议 端口:80 ftp:21

TCP/IP 模型:

  • 应用层、传输层、网络层、物理加数据链路层
  • 应用层:主要用来存放应用程序
  • 传输层:TCP/UDP协议
  • 网络层:IP和端口
  • 物理+数据链路:以太网,atm协议

客户端给服务器发消息经历的步骤:

  • 1、打开浏览器输入地址,浏览器会创建一个socket,底层封装的是TCP协议。
  • 2、连接到指定的计算机,通过ip地址匹配地址。
  • 3、向socket中写入信息。
  • 4、关闭socket。

服务器给客户端发消息经历的步骤:

  • 1、创建socket对象
  • 2、绑定socket和端口
  • 3、监听端口
  • 4、接受用户请求
  • 5、通过输入流获取到数据
  • 6、关闭socket

http

http协议:超文本传输协议

HTML:超文本标记语言

http特点

1、遵循请求响应模型--- 只要发送请求成功,服务器必定会响应回客户端

2、http是无状态的协议---每次交互成功后,服务器就断开连接,客户端会执行socket.close(),下次再访问服务器就会识别为新的请求--- http现在是有状态了

处理流程

1、客户端和服务器建立连接,tcp三次握手 2、客户端发请求 3、服务器接受请求,处理响应 4、关闭连接

http请求

  1. 请求行:主要定义了请求的方法,get和post,请求地址,http协议
  2. 请求头:头元素信息,告诉服务器客户端的一些信息(访问方式)
  3. 空行:发送回车符或者是空格,目的是区分请求头和消息体
  4. 消息体:post请求将内容放在消息体,用以传输数据

Web服务器的缺陷

  1. 只能想客户端提供静态网页内容------增加一个辅助应用生成动态页面

建东塔服务器端内容的过程

  1. cgi(通用网关接口),可以用任意语言编写--缺点:耗资源,每次请求就打开一个进程

服务器端Web编程原理

Servlet与Web容器

  1. 由sun公司设计的用来处理动态网页的一种技术,有以下这些特点:
    1.1 servlet程序是一个多线程程序
    1.2 没有main方法,无法自己实例化本类

Web容器

  1. 作用是:运行和管理servlet的区域,而web容易一般运行在服务器内部。
  2. web容器给处于其中的组件提供了运行环境,使servlet和jsp程序直接和容器中的环境变量进行交互,开发者不必关心其他的系统问题。web容器主要是由web服务器来实现。例如:Tomcat、weblogic、Jboss

web容器和服务器

  1. 在设计上两块是分开的,不同的概念,web容器管理servlet或者jsp,web服务器是运行程序的一个软件。但是一般来说web服务器就结合了web容器的功能,比如Tomcat、jboss等等

web容器是如何来管理servlet或者jsp的(容器对servlet的支持)

  1. 通信支持:
    • 可以利用容器提供的方法,能够轻松的让servlet程序和web服务器进行对话,那样的话我们就不用再创建socket,也不用监听端口,在开发过程中不用去关心容器是如何来调用servlet方法的,我们主要关注业务
  2. 生命周期管理:
    • servlet程序的存在与销毁有容器来管理,容器会在相应的时候加载servlet,初始化servlet,调用方法处理请求,以及servlet销毁,资源回收都是容器来进行管理
  3. 多线程
    • 容器会给每个servlet创建多线程程序,用户访问服务器的servlet创建线程,运行结束后线程就会被回收
  4. jsp支持
    • 容器会自动处理jsp程序
  5. 安全性支持
    • javaweb应用程序通常需要一些访问限制,容器对web容器进行了安全性设置,有些内容客户端无论如何是访问不到的

Java Web应用程序的组成

Tomcat介绍

  1. Tomcat特点:开源、免费、效率比较高
  2. bin目录:主要用来存放启动Tomcat和关闭Tomcat的脚本文件
  3. conf:存放服务器的各种配置文件
  4. lib:存放Tomcat运行所需的jar包
  5. logs:存放Tomcat运行过程中产生的日志文件
  6. temp:存放临时文件
  7. webapps:存放应用程序
  8. works:工作目录,存放jsp的各种运行产生的文件

搭建运行环境

依赖于jdk、jre

javaweb项目名称: html css js img WEB-INF lib classes web.xml

客户端能访问的内容是java项目下面HTML、css、js等,WEB-INF,目录下面的内容,客户端无法访问,容器有安全性设置

lib包含所有运行需要的jar包 classes:主要存放编译后的文件 web.xml是程序的核心配置文件

转载于:https://www.cnblogs.com/chenyifan/p/8179809.html

你可能感兴趣的文章
Ubuntu 14.04下安装CUDA8.0
查看>>
跨平台开发 -- C# 使用 C/C++ 生成的动态链接库
查看>>
C# BS消息推送 SignalR介绍(一)
查看>>
WPF星空效果
查看>>
WPF Layout 系统概述——Arrange
查看>>
PIGOSS
查看>>
软件目录结构规范
查看>>
mysqladmin
查看>>
解决 No Entity Framework provider found for the ADO.NET provider
查看>>
设置虚拟机虚拟机中fedora上网配置-bridge连接方式(图解)
查看>>
ES6内置方法find 和 filter的区别在哪
查看>>
Android实现 ScrollView + ListView无滚动条滚动
查看>>
java学习笔记之String类
查看>>
UVA 11082 Matrix Decompressing 矩阵解压(最大流,经典)
查看>>
硬件笔记之Thinkpad T470P更换2K屏幕
查看>>
iOS开发——缩放图片
查看>>
HTTP之URL的快捷方式
查看>>
满世界都是图论
查看>>
配置链路聚合中极小错误——失之毫厘谬以千里
查看>>
蓝桥杯-分小组-java
查看>>