http协议学习日记

来源:互联网 发布:日语动漫配音软件 编辑:程序博客网 时间:2024/06/15 08:55

学习日记2

Web应用开发好后,若想供外界访问,需要把web应用所在目录交给web服务器管理,这个过程称之为虚拟目录的映射。

虚拟目录的映射三种方式:

1、在server.xml文件的host元素中配置,例如:


2、在Tomcat6中,不再建议在server.xml文件中配置context元素,细节查看tomcat服务器关于context元素的说明。

3、让tomcat自动映射: tomcat服务器会自动管理webapps目录下的所有web应用,并把它映射成虚拟目录。换句话说,tomcat服务器webapps目录中的web应用,外界可以直接访问。

 

WEB应用的组成结构:

开发web应用时,不同类型的文件有严格的存放规则,否则不仅可能会使web应用无法访问,还会导致web服务器启动报错。

 

Tomcat体系架构:

 

配置加密连接器:

加密过程:接收方产生一对公钥和私钥,发送方用接收方的产生的公钥加密数据后,再用自己产生的私钥再加密数据发送给接收方,接收方先用发送方的公钥解密,再用自己的私钥解密,在确认对方的公钥时用到了Ca数字证书。

私钥加密公钥解密时,用于确保数据来源

配置过程:

•   在命令行中输入命令:keytool -genkey -alias tomcat -keyalgRSA,根据提示输入要产生密钥库的网站和密码,产生.keystore文件,将该文件放入tomcat服务器conf文件夹下。

•   在tomcat的server.Xml文件中进行配置如下:

 

Http协议:

客户端连上web服务器后,若想获得web服务器中的某个web资源,需遵守一定的通讯格式,HTTP协议用于定义客户端与web服务器通迅的格式。

HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程。

 

在HTTP1.0协议中,客户端与web服务器建立连接后,只能获得一个web资源。

HTTP1.1协议,允许客户端与web服务器建立连接后,在一个连接上获取多个web资源。

 

Http请求:

客户端连上服务器后,向服务器请求某个web资源,称之为客户端向服务器发送了一个HTTP请求。一个完整的HTTP请求包括如下内容:

   一个请求行、若干消息头、以及实体内容,如下所示 :

 

请求行中的GET称之为请求方式,请求方式有:

•   POST、GET、HEAD、OPTIONS、DELETE、TRACE、PUT

•   常用的有: GET、 POST

•   用户如没有设置,默认情况下浏览器向服务器发送的都是get请求,例如在浏览器直接输地址访问,点超链接访问等都是get,用户如想把请求方式改为post,可通过更改表单的提交方式实现。

不管POST或GET,都用于向服务器请求某个WEB资源,这两种方式的区别主要表现在数据传递上:

如请求方式为GET方式,则可以在请求的URL地址后以?的形式带上交给服务器的数据,多个数据之间以&进行分隔,例如:

GET /mail/1.html?name=abc&password=xyzHTTP/1.1

GET方式的特点:在URL地址后附带的参数是有限制的,其数据容量通常不能超过1K。

如请求方式为POST方式,则可以在请求的实体内容中向服务器发送数据,Post方式的特点:传送的数据量无限制。

 

http请求头

 

Accept: 用于告诉服务器,客户机所支持的数据类型

Accept-Charset: 用于告诉服务器,客户机所采用的码表

Accept-Encoding: 用于告诉服务器,客户机所支持的数据压缩格式

Accept-Language: 用于告诉服务器,客户机的语法环境

Host: 用于告诉服务器,客户机想访问服务器哪台主机

If-Modified-Since: 用于告诉服务器,客户机对于资源的最后缓存时间

Referer: 用于告诉服务器,客户机是从哪个页面去访问服务器的  (防盗链)

User-Agent: 用于告诉服务器,客户机的机器环境(例如所使用的操作系统,浏览器版本号)

Cookie:客户端通过这个头字段,可以带一些数据给服务器

Connection:客户端通过这个头字段告诉服务器,请求完成后,是保持链接还是关闭链接

 

 

 

HTTP响应:

一个HTTP响应代表服务器向客户端回送的数据,它包括:

   一个状态行、若干消息头、以及实体内容 。


状态行

   格式: HTTP版本号 状态码 原因叙述<CRLF>

   举例:HTTP/1.1 200 OK

l 状态码用于表示服务器对请求的处理结果,它是一个三位的十进制数。响应状态码分为5类,如下所示:


302:找别人

304和307:拿缓存

http响应头

Location:这个头通常配合302状态码使用,服务器使用这个头告诉浏览器去找谁

Server:服务器通过这个头告诉浏览器,服务器的类型

Content-Encoding: 服务器通过这个头告诉浏览器,数据的压缩格式(gzip)

Content-Length:服务器通过这个头告诉浏览器,回送数据的长度

Content-Language:

Content-Type: 服务器通过这个头告诉浏览器,回送数据的类型

Last-Modified: 服务器通过这个头告诉浏览器,数据的最后修改时间

Refresh:服务器通过这个头告诉浏览器,多长时间定时刷新

Content-Disposition: 控制浏览器以下载方式打开回送的数据

Transfer-Encoding: 服务器通过这个头告诉浏览器,数据是以块方式回送的

Expires:控制浏览器缓存数据的时间(-1或0,代表控制浏览器不要缓存)

Cache-Control: no-cache 

Pragma: no-cache  以上三个头一起用,就可以控制所有的浏览器不要缓存数据


原创粉丝点击