发表于: 2018-03-23 23:34:15

1 577


今天完成的事情:

Http的Header里面包含哪些字段,每个字段都有哪些含义?
( HTTP协议(二)header标头说明   https://www.cnblogs.com/lxg0/p/http.html)
1HTTP Request的Header信息
1.1HTTP请求方式
包括:GET(向web服务器请求一个文件);POST(向web服务器发送数据让web服务器进行处理);PUT(向Web服务器发送数据并存储在Web服务器内部);HEAD(检查一个对象是否存在);DELETE(从web服务器上删除一个文件);TRACE(跟踪到服务器的路径);OPTIONS(查询web服务器的性能)。
主要使用到“GET”和“POST"。
1.2HOST。请求的web服务器域名地址。
1.3User-Agent。HTTP客户端运行的浏览器类型的详细信息。通过该头部信息,web服务器可以判断到当前HTTP请求的客户端浏览器类型。
1.4Accept。指定客户端能够接受的内容类型,内容类型中的先后次序表示客户端接收的先后次序。
比如:Accept:text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
   经常看到有关xml时提到"application/xml" 和 "text/xml"两种类型, 二者功能一模一样,唯一的区别就是编码格式,text/xml忽略xml头所指定编码格式而默认采用us-ascii编码,而application/xml会根据xml头指定的编码格式来编码。
(ASCII(American Standard Code for Information Interchange))
(application/xml 和 text/xml的区别https://www.cnblogs.com/mkl34367803/p/8477624.html)
q=0.5是q=qvalue的一种。q相当于描述了客户端对于某种媒体类型的喜好系数,该值范围是0-1。默认为1。
(为你详细解读HTTP请求头的具体含意https://jingyan.baidu.com/article/375c8e19770f0e25f2a22900.html)
1.5Accept-Language。指定HTTP客户端浏览器用来展示返回信息所优先选择的语言。
1.6Accept-Encoding。指定客户端浏览器可以支持的web服务器返回内容压缩编码类型。表示允许服务器在将输出内容发送到浏览器以前进行压缩,以节约带宽。而这里设置的就是客户端浏览器所能够支持的返回压缩格式。
gzip是GUN zip的缩写,它是一个GUN自由软件的文件压缩程序,也经常用来表示gzip这种文件格式。
deflate是同时使用了LZ77算法与哈夫曼编码(Huffman Coding)的一个无损数据压缩算法。
1.7Accept-Charset。浏览器可以接受的字符编码集。
1.8Content-Type。显示此HTTP请求提交的内容类型。一般只有post提交时才需要设置该属性。
有关Content-Type属性值可以如下两种编码类型:
(1)“application/x-www-form-urlencoded”: 表单数据向服务器提交时所采用的编码类型,默认的缺省值就是“application/x-www-form-urlencoded”。 然而,在向服务器发送大量的文本、包含非ASCII字符的文本或二进制数据时这种编码方式效率很低。
(2)“multipart/form-data”: 在文件上载时,所使用的编码类型应是“multipart/form-data”,它既可以发送文本数据,也支持二进制数据上载。当提交为单单数据时,可以使用“application/x-www-form-urlencoded”;当提交的是文件时,就需用“multipart/form-data”编码类型。在Content-Type属性当中还是指定提交内容的charset字符编码。一般不进行设置,它只是告诉web服务器post提交的数据采用的何种字符编码。
    一般在开发过程,是由前端工程与后端UI工程师商量好使用什么字符编码格式来post提交的,然后后端ui工程师按照固定的字符编码来解析提交的数据。所以这里设置的charset没有多大作用。
1.9Connection。表示是否需要持久连接。如果web服务器端看到这里的值为“keep-Alive”,或者看到请求使用的是HTTP 1.1(HTTP 1.1默认进行持久连接),它就可以利用持久连接的优点,当页面包含多个元素是(例如Applet,图片),也显著地减少下载所需要的时间。要实现这一点web服务器需要在返回给客户端HTTP头信息中发送一个Content-Length(返回信息正文的长度)头,最简单的实现方法是:先把内容写入ByteArrayOutputStream,然后在正式写出内容之前计算它的大小。
1.10Keep-alive。显示此HTTP连接的时间,使客户端到服务器端的连接持续有效,当出现对服务器的后续请求时,可以避免建立或重新建立连接。
以前HTTP请求时一站式连接,从HTTP 1.1 协议之后,就有了长连接,即在规定的Keep-alive时间内,连接不会断开。
1.11cookie。HTTP请求发送时,会把保存在该请求域名下的所有cookie值一起发送给web服务器。
1.12Referer。包含URL,用户从该URL代表的页面出发访问当前请求的页面。
2.服务器端返回HTTP头部信息
2.1Content-Length。表示web服务器返回消息正文的长度。
2.2Content-Type。返回数据的类型(例如text/html文本类型)和字符编码格式。
2.3Date。显示当前的时间

3.没有使用TESTful的SSM框架,没办法传值进去,现在应该做restful的SSM了。不用的现在没时间做了。

明天的计划:

学习RESTful的springMVC

遇到的问题:

使用ModelAndView传两个对象到jsp中的不到值。解决先将两个对象添加到list中,在将list加到ModelAndView中。

收获:

学习HTTP 的header。


返回列表 返回列表
评论

    分享到