Http协议
一 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地址
 
                    
                
                
            
        
浙公网安备 33010602011771号