http详解
- HTTP定义
HTTP--Hyper Text Transfer Protocol,超文本传输协议,是一种建立在TCP上的无状态连接,整个基本的工作流程是客户端发送一个HTTP请求,说明客户端想要访问的资源和请求的动作,服务端收到请求之后,服务端开始处理请求,并根据请求做出相应的动作访问服务器资源,最后通过发送HTTP响应把结果返回给客户端。其中一个请求的开始到一个响应的结束称为事务,当一个事物结束后还会在服务端添加一条日志条目。
- HTTP请求响应模型
- http请求
HTTP请求由状态行、请求头、请求正文三部分组成:
状态行:包括请求方式Method、资源路径URL、协议版本Version;
请求头:包括一些访问的域名、用户代理、Cookie等信息;
请求正文:就是HTTP请求的数据。
- http响应
HTTP响应由三部分组成:状态行、响应头、响应正文;
状态行:包括协议版本Version、状态码Status Code、回应短语;
响应头:包括搭建服务器的软件,发送响应的时间,回应数据的格式等信息;
响应正文:就是响应的具体数据。
- 常见状态码的含义
200---OK/请求已经正常处理完毕
301---/请求永久重定向
302---/请求临时重定向
304---/请求被重定向到客户端本地缓存
400---/客户端请求存在语法错误
401---/客户端请求没有经过授权
403---/客户端的请求被服务器拒绝,一般为客户端没有访问权限
404---/客户端请求的URL在服务端不存在
500---/服务端永久错误
503---/服务端发生临时错误
- http请求方法
1). GET:用于获取资源,参数通过URL查下字符串方式提交给服务器,无消息主体
2). POST:用于执行操作,参数可以通过URL查下字符串方式和消息主体提交给服务
3). HEAD:用于检测资源是否存在,与GET类似,区别在于在响应消息中返回的消息主体为空
4). TRACE:用于诊断,可判断客户端和服务器之间是否存在代理服务器,原理:服务器在响应主体中返回收到的请求消息的具体内容
5). OPTIONS:用于要求服务器报告对某一资源有效的HTTP方法,服务器常返回Allow消息头的响应,并列出所有有效的方法
6). PUT:使用请求主体中的内容向服务器上传指定的资源
7). DELETE:用于删除资源
- http常见消息格式
urlencoded
json
xml