
HTTP概述
HTTP: Hyper Text Transfer Protocol超文本传输协议,规定了浏览器和服务器之间数据的传输规则

特点: 1、基于TCP协议,面向连接,安全
2、基于请求—响应模型的,一次请求对应一次响应
3、HTTP协议是无状态的协议,对于事务处理没有记忆能力。每次请求响应都是独立的。
缺点:多次请求不能共享数据
优点:速度快
HTTP请求协议
常见的请求协议(请求行,请求头,请求体)

1.请求行:请求数据第一行,如下例
GET(请求方式) /brand/findAll?name=...(资源路径) HTTP/1.1(协议版本)
2.请求头:key:value,如下例
Host(key值):localhost:8080(value值)
常见的请求头数据格式

3.请求体 :POST特殊请求,最后一行存放请求参数。
GET和POST的请求方式:
GET:请求参数在请求行中,没有请求体,参数会在路径后面加?如果还有就加&,如GET /brand/findAll?name = OPPO&status = 1 HTTP/1.1,且GET请求大小有限制
POST:请求参数在请求体中,且大小是没有限制的
HTTP响应协议
常见的响应协议(响应行,响应头,响应体)

1、响应行:响应数据第一行,如下
HTTP/1.1 (协议及版本)200 (状态码) OK(描述)
对于各类状态码所代表的东西不同

常见的状态码有以下几个
着重说明一下重定向,如下图,浏览器向服务器A进行请求,A服务器给浏览器返回一个状态 码,由于服务器A中不包含浏览器请求的资源,就让浏览器通过返回来的数据去访问B服务器, 从而使浏览器成功请求,服务器成功响应。
PS:这里的A和B可能是同一个服务器,只是资源的位置不同

2、响应头:与请求头类似
下图是常见的响应头

3、响应体:最后一部分存放响应的数据
HTTP协议解析
一般使用seversocket来编写程序,接收浏览器端的请求,并通过HTTP协议的响应格式最后将数据直接返回给浏览器,但是其中对于http协议,我们如果手动写的话要解析http协议,会很繁琐且复杂的,所以对于解析http协议,我们可以使用阿帕奇旗下的Tomcat来使用http封装包,我们就只需要对业务逻辑实现就可以了。

------------------以上学习来源自bilibili黑马程序员
本文介绍了HTTP超文本传输协议,它规定了浏览器和服务器间数据传输规则,具有基于TCP、请求 - 响应、无状态等特点。还阐述了HTTP请求协议(请求行、头、体)、响应协议(响应行、头、体),对比了GET和POST请求方式,最后提到可借助Tomcat解析HTTP协议。

被折叠的 条评论
为什么被折叠?



