JavaWeb HTTP协议

HTTP

(HTTP-Hyper Text transfer protocol),是一个属于应用层的面向对象的协议,由于其简洁快速的方式,使用不分布式超媒体信息系统,得以广泛地使用和发展。

它是一种详细规定了浏览器和万维网服务器之前相互通信的规则。

HTTP协议规定了报文的格式

客户端发送给服务器的是请求报文,服务器发送给客户端的是响应报文。

1、交互的方式

请求  客户端向服务器发送

响应  服务器向客户端返回

2、数据的格式

请求时发送的数据  请求报文

响应时返回的数据  响应报文

报文格式:

请求报文

请求行

请求头

请求体

(响应报文同理)

 

3、http长连接和短连接的问题

HTTP应用层协议 

TCP  传输层协议 

Ip  网络层协议

长连接可以在创建连接后,把多个需要传输的文件都完成传输之后,再关闭连接,减少连接次数,节省资源提高效率。

缓存节省带宽并且加快了响应速度。

4、请求报文与响应报文的格式

请求首行

请求头

```  http

-主机虚拟地址

Host: localhost:8080  

 

-长连接

Connection: keep-alive

 

-请求协议的自动升级[http的请求,服务器却是https的,浏览器自动会将请求协议升级为https的]

Upgrade-Insecure-Requests: 1  

 

- 用户系统信息

User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.75 Safari/537.36

 

- 浏览器支持的文件类型

Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8

 

- 当前页面的上一个页面的路径[当前页面通过哪个页面跳转过来的]:   可以通过此路径跳转回上一个页面, 广告计费,防止盗链

Referer: http://localhost:8080/05_web_tomcat/login.html

 

- 浏览器支持的压缩格式

Accept-Encoding: gzip, deflate, br

 

- 浏览器支持的语言

Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7

```

请求空行

请求体(GET方式信息不携带在请求体之中)

> 响应报文格式

-   响应首行(**响应行**); 协议/版本  状态码    状态码描述

-   响应头信息(**响应头**);

-   空行;

-   响应体;

 

5、对比GET和POST的请求

form表单发送GET请求特点

1)由于请求参数在请求首行中已经携带了,所以没有请求体,也没有请求空行

2)请求参数拼接在url地址中,地址栏可见\[url?name1=value1\&name2=value2],不安全

3)由于参数在地址栏中携带,所以由大小限制\[地址栏数据大小一般限制为4k]只能携带纯文本

(4)get请求参数只能上传文本数据

5)没有请求体。所以封装和解析都快,效率高, 浏览器默认提交的请求都是get请求比如:地址栏输入回车,超链接,表单默认的提交方式

 

form表单发送post请求特点

1POST请求有请求体,而GET请求没有请求体。

2post请求数据在请求体中携带,请求体数据大小没有限制,可以用来上传所有内容\[文件、文本]

(3)只能使用post请求上传文件

4post请求报文多了和请求体相关的配置\[请求头]

(5)地址栏参数不可见,相对安全

(6)post效率比get低

 

6、响应状态码

200 请求成功 浏览器会把响应内容显示在浏览器中

302  重定向,需要浏览器重新发送请求

304  使用了缓存

404  找不到对应资源

405  请求的方式不允许  get/post请求方式的错误

500  请求找到了  但服务器内部出现了错误

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值