client -- server
http请求的“?”区分,?前面的是请求路径,?后面的是请求参数
https对比http请求安全性更高一点,需要获取证书,根据证书传输安全级别高
通过域名访问时看不到请求端口号,IP地址访问(不带端口号,默认是80端口)主机地址+端口号
get请求肯定没有请求body,用于查询,从服务器获取资源。url的长度有限制
post请求有请求body(body可以为空),把数据提交到服务器。上传文件的请求基本都是post请求。
HEAD请求返回的响应中没有具体的内容,用于获取报头
PUT请求从客户端向服务器传送的数据取代指定的文档的内容
DELETE请求服务器删除指定的页面
request组成:请求行、请求头、空行和请求body(get请求没有)
post请求头不要忽视content-type,常见的数据类型有5中:
1.application/json{"key1":"xxx","key2":"xxx"}
2.application/x-www-form-urlencode(key1=xxx&key2=000)
3.multipat/form-data(文件上传时这种表单格式比较常见)
4.text/xml(一般是webservice接口的,少见)
5.octets/stream(文件下载,少见)
response结果
http相应由4个部分组成:状态行、消息报头、空行和返回body
常见状态码:
200 OK 请求成功
400 Bad Request (请求语法有错误)
401 请求未授权(如登录的token失效)
403(权限问题)服务器收到请求,拒绝提供服务
404(1.服务器挂掉;2.服务器正常运行,但是url错误)
500、503 服务器有bug,直接提接口bug