您当前所在的位置: 首页 > 帮助中心 > 常见问题
Http协议

Http协议

什么是http协议?

  • 客户端连上web服务器后,若想获得web服务器中的某个web资源,需遵守一定的通讯格式,HTTP协议用于定义客户端与web服务器通讯的格式。(相当于现实生活中的交流语言)

 

Http简介

  • Http是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的格式。

  • HTTP协议的版本:HTTP/1.0、HTTP/1.1

HTTP/1.0:客户端和服务器建立连接后,只能获得一个web资源

HTTP/1.1:客户端和服务器端建立连接后,能获得多个web资源

 

交流方式

  • 客户端请求---->服务器响应

 

什么是Http请求?

  • 客户端向某个服务器连接后,向服务器请求某个web资源,称之为客户端向服务器发送了一个http请求。

如下示例:

复制代码

01-21 14:57:23.503 24662-24752/com.huolongluo.customrestaurant D/OkHttp: --> POST http://42.72.183.98:8082/staff/v2/auth http/1.101-21 14:57:23.503 24662-24752/com.huolongluo.customrestaurant D/OkHttp: Content-Type: application/x-www-form-urlencoded01-21 14:57:23.504 24662-24752/com.huolongluo.customrestaurant D/OkHttp: Content-Length: 31
01-21 14:57:23.504 24662-24752/com.huolongluo.customrestaurant D/OkHttp: Accept-Language: zh.CN01-21 14:57:23.505 24662-24752/com.huolongluo.customrestaurant D/OkHttp: Accept: application/prs.speed-plus.v1+json01-21 14:57:23.505 24662-24752/com.huolongluo.customrestaurant D/OkHttp: Authorization: 
01-21 14:57:23.505 24662-24752/com.huolongluo.customrestaurant D/OkHttp: password=123456&sn=B8D7AF87028201-21 14:57:23.506 24662-24752/com.huolongluo.customrestaurant D/OkHttp: --> END POST (31-byte body)

复制代码

这里通过OKHttp请求服务器的一个请求头信息。第一行,由“请求方式”+请求的资源名称+Http协议版本号组成。

 

Http请求组成

  • Http请求,由请求行(示例第一行),请求头,请求体组成

  • 请求行,由请求方式,请求的资源名称,以及Http协议版本组成

  • 请求方式有:POST、GET、HEAD、OPTIONS、DELETE、TRACE、PUT

 

POST、GET请求

  • GET:URL地址后,以?的形式带上交给服务器的数据,多个数据之间以&进行分割

  • POST:参数放在请求体中

  • GET请求方式的特点:在URL后附带的参数是有限制的,其数据容量通常不能超过1K

  • POST请求方式:则可以在请求的实体内容中向服务器发送数据,其传送的数据量无限制

 

请求头信息

1

Accept:浏览器通知服务器,浏览器可以接受的数据类型

Accept-charset:浏览器通知服务器,浏览器支持的字符集

2.

Accept-Encoding:浏览器通知服务器,浏览器支持的压缩格式

3.

Accept-Language:浏览器通知服务器,浏览器支持的语言环境

Host:浏览器通知服务器,浏览器访问的服务器的主机名

5.

工f-Modified-since:浏览器询问服务器,浏览器本地是否修改过

6.

Referer:浏览器通知服务器,浏览器当前页来自哪个页面

7.

8.

*防盗链

user-agent:浏览器通知服务器,浏览器端的基本信息

9.

10.

cookie:

connection:浏览器保持服务器,是否保持连接状态

11.

Date:浏览器通知服务器,浏览器端的时间

12.


 

Http响应

如下示例:

HTTP/1.1 200 OK

server: Apache-coyote/1.1

Accept-Ranges: bytes

ETag: w/"369-1516191816137"

Last-Modified: wed,17 Jan 2018 12:23:36 GMT

content-Type: text/html

content-Length: 369

Date: wed,17 Jan 2018 12:37:43 GMT

 

Http响应组成

  • Http响应,由响应行(示例第一行),响应头,响应体组成

  • 响应行,由响应协议(HTTP/1.1),状态码,状态信息组成

  • 状态码:为服务器通知浏览器客户端的行为,由服务器端定义。例如:


1xx:服务器通知浏览器,服务器还没处理完成

2xx:服务器通知浏览器,服务器己经处理完成

200处理完成

3xx:服务器通知浏览器服务器还需要浏览器进一步处理

302:从htpp响应头中获取(location)进一步操作︰重定向到location的地址

304通知浏览器资源没变从缓存中取

4xx:通知浏览器发送毂据有误

401:没有权限

404:找不到资源

5xx:服务器通知浏览器服务器挂了(异常)

500:服务器异常

503:服务器未响应




分类: 网络协议


  • 真实产品信息
  • 10日无条件退换货
  • 1000城市货到付款
  • 专业服务团队
在线客服
NEW
专属客服为您服务
VIP客服
3159548590
前台客服
3475802400
技术总监
941882361