跳至主要內容

Http

HeChuangJun约 1313 字大约 4 分钟

http

1. http协议

  • 超文本传输协议,用于定义WEB服务器和WEB浏览器之间交换数据的过程
  • 特点:HTTP协议默认端口80,响应和请求必须成对,先有请求后有响应
http协议组成组成描述
Http请求协议请求行POST/day09/01.http/from.html HTTP/1.1请求格式的第一行
①请求方式get:请求参数在url后面,例:x.html?a=a&b=b url长度限制get请求数据大小,没有请求体,不安全
Post:请求参数在请求体,长度无限制,安全,除了表单的method为post外,其他都是get请求
②统一资源定位符URl 协议://域名:端口号/资源位置?参数=值
③协议版本
请求头Host:localhost:8080
User-Agent\refer:防盗链(判断它是不是以什么开头就行startswith)
if-modified-since:浏览器最后一次缓存时间
cookie:浏览器缓存的一种
请求体a=a&b=b 一般只有post请求方式才有,都是用户表单提交的数据
Http响应协议响应行HTTP/1.1 200 OK 协议/版本 状态码
200:成功302:重定向304:访问本地缓存404:找不到资源500:服务器内部错误
响应头服务器通过响应头来控制浏览器的行为,不同头浏览器的操作不同
Location:指定响应的路径,需要与状态码302配合使用
Content-Type:响应正文的类型(MIME类型)text/html:charset=UTF-8
Content-Disposition:通过浏览器以下载的方式解析正文attachment;filename=xx.zip
Set-Cookie:服务器向浏览器写入cookie
响应体服务器发给浏览器的正文、响应体是服务器回写给客户端的页面正文
浏览器将正文加载到内存,然后解析渲染显示页面内容
http请求.png
http请求.png
http响应.png
http响应.png

2. Tomcat(轻量级应用服务器,支持Servlet和jsp规范)目录结构(了解)

tomcat目录.png
tomcat目录.png
  • conf:配置文件目录 (config /configuration)
    • 核心配置文件:server.xml
    • 用户权限配置文件:tomcat-users.xml
    • 所有web项目默认配置文件:web.xml
  • bin:脚本目录
    • 启动脚本:startup.bat
    • 停止脚本:shutdown.bat
  • lib:依赖库,tomcat和web项目中需要使用的jar包
    • logs:日志文件.
    • localhost_access_log..txt tomcat记录用户访问信息,星表示时间。
    • 例如:localhost_access_log.2016-02-28.txt
  • temp:临时文件目录,文件夹内内容可以任意删除
    • webapps:默认情况下发布WEB项目所存放的目录
    • work:tomcat处理JSP的工作目录

3. WEB项目目录结构

	项目名称(webapps:)		
	|----静态资源html,css,js
	|---WEB-INF(不能直接通过浏览器进行访问)
		|--web.xml 当前web项目的核心配置,servlet2.5有,3.0省略
		|--lib:依赖库,tomcat和web项目中需要使用的jar包
		|--class:java源码编译后生成的class文件存放的位置

4. 软件架构

软件架构描述
B/S结构(淘宝)浏览器/服务器,通过浏览器和服务器交互,不需要安装其他程序
优点:维护和升级简单,无缝升级、不必安装程序,操作系统内置浏览器
缺点:用户体验受浏览器限制、信息不安全(要用U盾)服务器负荷重(大部分计算在服务器端)
C/S结构(迅雷)客户端/浏览器端,要求客户端安装客户端程序
优点:用户体验不守限制、信息安全、服务器负荷低,部分计算功能在客户端
缺点:占用磁盘空间、维护和升级麻烦、安装依赖其他条件

5. WEB服务器

WEB服务器说明
TomcatApache组织提供的一个免费的小型服务器软件,支持servlet和JSP规范
WebLogicbea公司的一个收费的大型的服务器软件,后被oracle收购,支持ee所有规范
WebSphereIBM公司的一个收费的大型服务器软件,支持ee所有规范
JBoss基于j2ee的开放源代码的应用服务器,管理EJB的容器的和服务器

6. WEB资源:存在于web应用服务器可供外界访问的资源就是web资源

WEB资源说明举例
动态资源web页面中供人们浏览的数据是由程序产生,不同时间点访问web页面看到的内容各不相同JSP/Servlet、ASP、PHP
静态资源web页面中供人们浏览的数据始终是不变HTML、CSS、JS、图片、多媒体