一 HTTP概述
特点:
- HTTP叫超文本传输协议,基于请求/响应模式的!
- HTTP是无状态,FTP有状态
二、请求协议
请求格式如下:
- 请求首行 // 请求方式 请求路径 协议和版本,例如:GET /index.html HTTP/1.1
- 请求头信息 // 请求头名称:请求头内容,即为key:value格式, 例如:Host:localhost
- 空行 // 用来与请求体分隔开
- 请求体 // GET没有请求体,只有POST有请求体
2.1 GET请求
HTTP默认的请求方法就是GET
- 没有请求体
- 数据必须在1k之内
- GET请求数据会暴露在浏览器的地址栏中
GET请求常用操作:
- 在浏览器的地址栏中直接给出URL,那么就一定是GET请求
- 点击页面上的超链接也一定是GET请求
- 提交表单时,表单m默认使用GET请求,但可以设置POST
2.2 POST请求
(1)数据不会出现在地址栏中
(2)数据的大小没有上限
(3)有请求体
(4)请求体中如果存在中文,会使用URL编码
三、 响应协议
响应格式如下:
1、响应首行
2、响应头信息
3、空行
4、响应体
3.1 响应内容
- HTTP/1.1 200 OK:响应协议为HTTP1.1,状态码为200,表示请求成功, OK是对状态码的解释
- Server:WSGIServer/0.2 CPython/3.5.2:服务器的版本信息
- Content-Type:text/html;charset =UTF-8:响应体使用的编码是UTF-8
- Content-Length:724:响应体为724字节
- Set-Cookie:JSESSIONID=C97E2B4C55553EAB46079A4F263435A4;Path=/hello:响应给客户端的Cookie
- Date:Wed,25 Sep 2012 04:15:03 GMT:响应的时间,这可能会有8小时的时区差
3.2 状态码
- 200:请求成功,浏览器会把响应体内容(通常是html)显示在浏览器中;
- 404:请求的资源没有找到,说明客户端错误的请求了不存在的资源
- 500:请求资源找到了,但服务器内部出现了错误
- 302:重定向,当响应码为302时,表示服务器要求浏览器重新再发一个请求,服务器会发送一个响应头Location,它指定了新请求的URL地址
Http协议
原文:https://www.cnblogs.com/renshaoqi/p/10440380.html