URL
URL(uniform resource locator),统一资源定位符,浏览器寻找信息所用的资源位置。URL定义了服务器通过网络提供资源以及客户端通过网络访问资源的方式。
URL的一般格式:
http://www.baidu.com/index.html
URL一般分为三部分:
URL第一部分为URL的方案,即采用什么协议,如http、ftp等。这部分告诉客户端以什么方式访问服务器资源,对应示例:http
URL第二部分指定服务器的位置,通常为域名或者服务ip地址。这部分告诉客户端服务器的位置。对应示例中:www.baidu.com
URL第三部分为服务器上资源路径。对应示例中:index.html
http请求报文
报文由三个部分组成:起始行、首部、包含数据的主体。
请求报文起始行为:方法 url 版本。中间用空格隔开。由一个空行(CRLF)结束。
例:GET /index.html http/1.1请求报文首部:首部可能有一个或者多个,由名字后加一个冒号(:),接着是一个值组成。由一个空行(CRLF)结束。
例:
Accept:text/css,/;q=0.1
Accept-Encoding:gzip, deflate, sdch
Accept-Language:zh-CN,zh;q=0.8请求报文实体:实体是一个http的数据部分。有些请求没有数据传输则没有实体部分
例:
length=10&page=1&sidx=&sord=&popNameDisplay=%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09&pageNo=1&invokeFlag=1&pageSize=10
Name
请求报文完整示例
POST /skuReview/list HTTP/1.1
Host: admin.test.com
Connection: keep-alive
Content-Length: 129
Accept: application/json, text/javascript, /; q=0.01
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.8
Cookie: test_user_token=admin_user_31595_web_96c458e1550447f2d8f307fb2dec9924; TEST_CASTGC=TGT-1779-xxxZO3cOoJiAUfAtHVleaZmHBadpHVMxLIaTM20hbgRTEiWypc-meicai.cn; beta_user_token=admin_user_76482_web_cc44f322b071c83dcd234c7c286e6711; PRO_CASTGC=TGT-37039-ZWu4onc5fBAR7anq50Anhm0pZ0AqUW0DqvFvwg6ogH0LfqRLMN-meicai.cn; JSESSIONID=C7917DB96F94171C119CFAC587A14EB6
length=10&page=1&sidx=&sord=&popNameDisplay=%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09&pageNo=1&invokeFlag=1&pageSize=10
Name
http响应报文
响应报文由三个部分组成:起始行、首部、包含数据的主体。
- 响应报文起始行为:版本 装条码 状态说明。中间用空格隔开。由一个空行(CRLF)结束。
例:
HTTP/1.1 200 OK
响应报文首部格式与请求报文一致。
例:
Server: nginx
Date: Tue, 22 Aug 2017 02:55:47 GMT
Content-Type: application/json;charset=UTF-8
Transfer-Encoding: chunked
Connection: close响应报文实体:实体是一个http的数据部分。有些请求没有数据传输则没有实体部分。
例:
{msg:”response”}
响应报文完整示例
HTTP/1.1 200 OK
Server: nginx
Date: Tue, 22 Aug 2017 02:55:47 GMT
Content-Type: application/json;charset=UTF-8
Transfer-Encoding: chunked
Connection: close
{“page”:1,”length”:10,”total”:59,”records”:589,”begin”:0,”data”:[{“id”:201,”name”:”测试名称”}]}