http协议概述

http(超文本传输协议):客户端和服务器建立通信连接后,进行数据交互,使用协议进行交流。请求和响应是成对出现的

HTTP 请求
请求完整格式 包括三个部分 : 请求行、头信息、请求体

1、请求行:请求中第一行信息  ---- 包括三个部分 请求方式、资源路径、HTTP协议版本
例如: GET / HTTP/1.1
HTTP请求方式有几种 : POST、GET、HEAD、OPTIONS、DELETE、TRACE、PUT
常用两种: GET 、 POST

简析:get和post方式提交区别

Get url地址后携带数据有大小限制 1K ,提交数据在url上显示 * url?name=value&name=value&name=value... 以?分隔url和参数,参数采用键值对格式,多个参数使用& 符合分隔

POST 数据在请求体中,不在url上显示 ,没有数据大小限制

2头信息

头信息: 很多key -value Accept: text/html,image/*   ----- 客户端可以接收文件类型

text/html HTML文件 image/* 任意格式图片

Accept-Charset: ISO-8859-1 ----- 客户端可以识别编码字符集 

Accept-Encoding: gzip -----  客户端可以识别压缩数据格式 gzip是一种压缩格式

Accept-Language:zh-cn ----- 客户端浏览器语言

Host: www.***.com:80  ----- 访问服务器地址

If-Modified-Since: Tue, 11 Jul 2000 18:23:51 GMT ----- 该请求的资源在客户端保存最后访问时间 (缓存有关)

Referer: http://www.***.com/***.jsp ---- 上一次请求访问页面地址【Referer可以用来判断是否为盗链】

User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0) ---- 客户端浏览器类型版本

Connection: close/Keep-Alive    ---- 该次请求连接后,连接是保持还是关闭 1.0 关闭 1.1 保持

Date:  ---- 请求时间

3请求体

存放客户端提交post 请求 数据
key=value&key=value....  

http响应

响应数据 分为三个部分 :状态行、头信息、响应体
1、状态行 分为三个部分: HTTP协议版本、状态码、描述信息

常见状态码
200 请求处理成功

302 客户端进行重定向

304 客户端访问资源没有被修改后,客户端访问本地缓存

404 访问资源不存在

500 服务器内部出错

2、响应头

Location: http://www.it315.org/index.jsp ---- 重定向地址 结合 302 一起使用 * 重定向 两次请求 两次响应

Server:apache tomcat ----- 服务器类型

Content-Encoding: gzip ---- 设置响应数据压缩格式   ----

请求 Accept-Encoding * 如果响应数据经过压缩 传输体积更小,性能更好 【这里可以设置相应数据为压缩数据】

通过设置 tomcat/conf/server.xml 设置响应数据压缩 <Connector port="80" protocol="HTTP/1.1"                connectionTimeout="20000"                redirectPort="8443" compressableMimeType="text/html,text/xml,text/plain" compression="on"/> *

Content-Length: 80  ----- 响应数据长度

Content-Language: zh-cn  ----- 响应数据语言

Content-Type: text/html; charset=GB2312  ----- 响应数据类型 * 数据类型采用Mime协议规定类型 html文件 ---- text/html、 jpg文件---- image/jpeg * 在 【tomcat/conf/web.xml 中查看文件mime类型】 小技巧

Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT  ----- 和请求头信息 If-Modified-Since一起使用,控制服务器缓存 【缓存相关】

Refresh: 1;url=http://www.***.com----- 网页自动跳转

Content-Disposition: attachment; filename=aaa.zip ----- 文件下载时指定文件附件名称

3、响应体 通常HTML 文件内容  ---- 如果设置响应体进行gzip压缩,看到gzip压缩内容,压缩以后性能会更好。

 小Tips:在google浏览器中 按F12 即可打开调试窗口 ---》选择 Network ---》选择需要查看的链接 

 即可查看到,如下图所示

原文地址:https://www.cnblogs.com/javabigdata/p/5618710.html