HTTP的基本认识

HTTP

什么是HTTP?

超文本传输协议,专门用于Web通信

安全、加密

  • http: 普通http协议,不安全,已在逐步替代
  • https: 安全(security)http协议,RSA非对称加密,理论上无可接受的**方案

版本

  • http1.0:早期的版本,已废弃
  • http1.1:现行http版本,具有持久连接特性
  • http2.0:最新的http版本,尚未普及,具有多路复用、优先级、推送等高级特性

理解HTTP

通信过程

HTTP的基本认识

注:消息(HTTP Message),其他叫法——报文、实体、数据、帧

消息结构

HTTP的基本认识

请求方法(method)

最常见的两种请求方法:

方法 说明 特点
GET 常用于服务器获取数据 请求数据在URL中(Header中)
1、传输数据量小
2、支持缓存
POST 常用于服务器发送数据 请求数据在Body中
1、传输数据量大
2、不支持缓存

其他不同的方法:

方法 说明
PUT 类似于POST,更倾向于发文件类的数据
HEAD 类似于GET,但服务器只返回头部,无内容,常用于服务器是否在线
OPTIONS 类似于HEAD,对服务器进行一些配置
DELETE 要求服务器删除某个数据

状态码(HTTP status code)

用于响应数据,服务器对请求的处理状态

常见状态码

状态码 含义
200 OK 成功,但数据不一定正确
404 Not Found 请求的对象没找到
500 Internal Server Error 服务器内部错误(没有说明具体说明错误)
503 Service Unvaliable 服务器暂时不可用,或资源不足以处理请求
状态码 类型 解释
1xx 消息 只是个消息,不需要特意处理
2xx 成功 各种各样的成功,但数据不一定正确
3xx 重定向 请求的资源需要从另一个地址获得
4xx 客户端错误 客户端的请求有问题
5xx 服务端错误 服务端的处理有问题
其他 自定义状态码 HTTP状态码支持自定义,但一般用不着

HTTP的基本认识

实战:解析http请求

重要的头
名称 含义
Cookie 在客户端存储的一些数据(上限4k)(浏览器和服务器共享)
Referer 由哪个资源引用了本资源
User-Agent 用户代理(浏览器的名称)

HTTP的基本认识

后续内容详见爬虫有关博客,以上仅为对于HTTP的初步了解。