HTTP协议

182 阅读2分钟

什么是HTTP协议

HTTP协议是超文本传输协议,用于定义WEB浏览器和WEB服务器之间数据交互的过程。

HTTP协议的作用和特点

作用

定义了浏览器和服务器之间的数据交互,效率更高

特点

基于请求/响应模型的协议

请求和响应必须成对,而且先有请求后有响应

HTTP协议默认端口:80

HTTP协议的组成

HTTP请求协议和HTTP响应协议

HTTP请求协议包含:请求行、请求头、请求体

HTTP响应协议包含:响应行、响应头、响应体

HTTP请求协议详解

浏览器发送给服务器的内容


请求行

例如: POST /day09/1.html HTTP/1.1

请求行必须出现在第一行

请求行格式:提交方式请求路径协议、版本

请求方式,常用的GET和POST方式

GET方式

请求数据追加在url后面,数据不安全的,而且数据长度有限

没有请求体

POST方式

数据通过请求体传递,比较安全

数据大小不限制

请求头

常见请求头:

Referer 浏览器通知服务器,当前的请求来之何处

If-Modified-Since 浏览器通知服务器,本地缓存的最后修改时间

Cookie 本地会话技术

User-Agent:浏览器通知服务器,客户端浏览器与操作系统相关信息

请求体

POST请求才有请求体,请求体中都是用户表单提交的数据(数据格式 key=value)

HTTP响应协议详解


响应行

格式:协议/版本、状态码、响应信息

状态码:浏览器和服务器用于确定状态的数字号码

1xx:请求刚开始,未响应(一般不用)

2xx:200(响应成功)

3xx:302(请求转发,一定要配合响应头中的location使用)

         304(请求的资源未发生变化,使用本地资源缓存)

4xx:402(资源未找到)

5xx:500(服务器内部错误,java抛异常)

响应头

服务器通过响应头来控制浏览器的行为,不同浏览器操作不同

Location:请求转发,需要配合状态码302一起只用

Content-Type:响应正文的类型(MIME类型)。

Content-Disposition:通过浏览器以下载的方式解析正文。取值:

Set-Cookie:服务器端会话技术

响应体

服务器端发送给浏览器端的正文,可以是HTML/图片/文件等….