Http协议
Http(HttperText Transfer Protocol, 超文本传输协议),是我们日常web应用中最常用的协议。以请求-响应的模式就行通信。一般是客户端发起请求,服务端响应。等会就重点说一下他Http协议的请求和响应。Http协议基于TCP传输协议,保证传输的可靠性,端口号是80。
Http请求格式
主要由请求行、请求头部、空行、请求数据组成。如下图。
请求行由三部分组成。请求方法、URL、协议版本
请求方法有八种。
-
GET
从服务器中得到资源并显示。主要是从服务器读取数据,而不对服务器上的数据进行任何增删改操作。 -
HEAD
与GET一样,从服务器中读取数据。只不过服务器将不传输文本部分。 -
POST
向指定资源提交数据,让服务器进行处理。如表单的提交。 -
PUT
请求在指定位置上传数据 -
DELETE
请求删除指定位置的资源 -
TRACE
回显服务器收到的请求,主要用于测试或诊断 -
OPTIONS
这个方法可使服务器传回该资源所支持的所有HTTP请求方法。 -
CONNET
HTTP/1.1协议中预留给能够将连接改为通道管理方式的代理服务器。通常用于SSL加密服务器的连接
GET与POST区别:https://blog.csdn.net/weixin_43219146/article/details/104379761
URl里面包括了请求协议,地址(域名或者Ip)端口号,资源路径以及一些要传输的数据。
请求头部里面。有user-agent表示浏览器的一些信息。还要accept,就是希望得到的数据内容。可以往header里面加键值对进行修改添加。
响应格式
响应也包括四个部分。状态行,响应头、空行
消息体。如下图
状态码所有HTTP响应的第一行都是状态行,依次是当前HTTP版本号,3位数字组成的状态代码,以及描述状态的短语,彼此由空格分隔。
状态代码的第一个数字代表当前响应的类型:
1xx消息——请求已被服务器接收,继续处理
2xx成功——请求已成功被服务器接收、理解、并接受
3xx重定向——需要后续操作才能完成这一请求
4xx请求错误——请求含有词法错误或者无法被执行
5xx服务器错误——服务器在处理某个正确请求时发生错误
常用的如200代表成功。
响应头包括content-Type,数据类型,如application/json;html/text;image/png。等。要根据数据类型来提取响应体。content-length.传输的数据长度。
响应体就是返回的内容,可能是图片、文本或者json格式。
JAVA在实际应用过程中,用Request、Response两个类对封装了以上的格式。对请求-响应的更改,可以通过这两个类就行更改。