首页 > 代码库 > HTTP
HTTP
一.HTTP简介
HTTP(HyperText Transfer Protocol)超文本传输协议,互联网上应用最为广泛的网络协议.所有WWW文件都必须遵守这个标准.设计之初是为了提供一种发布和接收HTML页面的方法.后来万维网协会和互联网工程小组共同合作发布了一系列的RFC,其中著名的RFC 2616定义了HTTP1.1
1.特点:
基于请求/响应模型的协议,请求和响应必须成对,先有请求后有响应;默认端口:80;
2.版本:
HTTP/1.0:短链接,发送一次请求,创建一次链接,获得一个WEB资源,连接断开;
HTTP/1.1,长链接,发送一次请求,创建一次链接,获得多个WEB资源,连接断开;
3.HTTP协议组成:
HTTP请求包括:请求行/请求头/请求体;
HTTP响应包括:响应行/响应头/响应体;
请求格式:(请求行/请求头/请求体)
POST /xxx/xxxx/xxx.png http/1.1(换行\n)
K1:v1
K2:v2
K3:v3
K4:v4
(空行,表示以下为请求体)
Username=tom&password=1234
请求头:
Host: 本次请求的主机路径
User-Agent:告诉服务端本次请求客户端所在的平台以及本次请求采用的浏览器
Accept:告诉服务端,浏览器可以识别的文件类型有哪些
Accept-Language:告诉服务端,浏览器可以识别的语言种类
Accept-Encoding:告诉服务端,浏览器可以哪些类型压缩格式数据 gzip,defalte
connection: keep-alive/ closed
Content-Type:本次请求内容,向服务端发起的时候,发送数据格式;当请求是POST方式时,浏览器认为本次向服务端传递的是表单中的键值对的数据
Conent-length:请求体长度
响应格式:
HTTP/1.1 200 OK(换行)
K1:v1
K2:v2
K3:v3
空行
<html>
首页内容
</html>
响应行中的响应状态:
200 ok
304 缓存
404 not found
500 server error
302 move 重定向 (location)
响应头:
Date:响应时间
Content-Type:本次响应内容类型
Connection: keep-alive 本次响应采用的链接方式
Content-Encoding:本次内容采用的压缩格式
Content-length:本次内容长度
Server:服务端采用的服务器类型
Last-modified:本次请求文件的最后修改时间
location:服务器让浏览器再次发起请求的路径;和302配合实现重定向.告诉浏览器重新访问网址路径
二.WEB通信
WEB采用B/S通信模式,通过HTTP协议进行通信.通过浏览器地址栏编写URL,向服务器发送一个请求,服务器端根据请求进行相应的处理,处理完成后,对浏览器作一个响应,将服务器端资源发送给浏览器.
三.软件架构
1.C/S架构--Client/Server
要求客户端电脑安装一个客户端程序;如QQ,旺旺等
优点:用户体验好/对信息安全控制较强/应用服务器运行数据负荷较轻
缺点:占用硬盘空间/维护麻烦/安装使用依赖其他条件
2.B/S架构--Browser/Server
通过浏览器与服务器交互,无需安装其他程序;如网银系统/12306网站等
优点:维护和升级简单/无需安装程序
缺点:动画效果受浏览器限制/对信息安全控制较差/应用服务器运行数据负荷较重
四.WEB资源介绍
静态资源:WEB页面中不变的浏览数据部分,如HTML/CSS/JS/图片等.
动态资源:WEB页面中供人们浏览的数据是由程序产生的,不同时间访问WEB页面看到的内容各不相同,如JSP/Servlet
五.WEB服务器
JCP(Java Community Process)是Java技术规范制定与更新的国际组织,主要维护规范包括:J2ME/J2SE/J2EE/XML等;
J2EE为企业级开发规范.标准规范包括:servlet/jsp/jdbc/xml/jta/javamail等.java中规范即接口
常见的WEB服务器包括:
Tomcat:支持Servlet和JSP规范;
WebLogic:支持EE的所有规范;
WebSphere:支持EE的所有规范;
JBoss:核心服务不支持Servlet/JSP;一般与Tomcat或Jetty绑定使用;
六.URL
URL(Uniform Resource Locator)统一资源定位符.对互联网上资源位置的一种表示,互联风上的每个文件都有一个唯一的URL;
七.Tomcat目录结构
bin--脚本目录(包括启动和停止脚本);
conf--配置目录(server.xml/web.xml等);
lib--依赖的jar包;
logs--日志文件存放位置
temp--临时文件
webapps--用于存放web项目目录
work--tomcat处理jsp页面工作目录
八:web项目目录结构
JavaEE规范中,web项目存在一定的目录结构,具体结构:
webapps文件夹
--静态资源:HTML.CSS.JS
--WEB-INF
--web.xml:当前WEB项目的核心配置
--lib:jar包的存放位置
--classes:java源码编译后生成的class文件存放的位置
HTTP