HTTP协议概览

这些天业务需要,用python爬取了一些移动应用分析网站的数据,包括App Annie和 Sensor Tower等,当然在爬取过程中,对HTTP协议也有了更深一步的理解,下面重新总结了以下HTTP协议相关请求头相应头的常用内容及释义。

HTTP

超文本传输协议,基于TCP

请求行

例如GET /index HTTP/1.1

  • GET 获取“请求资源路径”对应的资源
  • POST 向“请求资源路径”提交数据,请求服务器进行处理
  • HEAD 获取“请求资源路径”的消息头
  • PUT 想服务器提交数据,存储到“请求资源路径”的位置
  • DELETE 请求服务器删除“请求资源路径”的资源
  • TRACE 请求服务器会送收到的请求信息,主要用于测试或诊断
  • CONNECT 保留将来使用
  • OPTIONS 请求查询服务器的性能,或者查询与资源相关的选项和需求

请求头

有Accept,Accept-Charset,Accept-Encoding,Accept-Language,
Host(客户端浏览器想要访问的主机服务器),
If-Modified-Since(客户端浏览器对资源最后缓存时间),
Referer(客户端浏览器是从哪个页面来的),
User-Agent(客户端的系统信息,包括使用的操作系统,浏览器版本号等),
Cookie(客户端需要带给服务器的数据),
Cache-Control(客户端浏览器的缓存控制),
Connection(请求完成后,客户端希望是保持连接还是关闭连接)

HTTP响应消息

响应状态行

HTTP1.1 200 OK
响应码:

  • 1xx:成功接收请求,要求客户端继续提交下一次请求才能完成整个过程,例如ajax
  • 2xx:成功接收请求,并已完成整个过程
  • 3xx:为完成请求,客户端需要进一步处理
  • 4xx:客户端的请求有错误
  • 5xx:服务端出现错误

常见响应码:

  • 200, 正常
  • 301,永久移动,被请求的文档已经移动到别处,此文档的新URL地址为相应头Location值,浏览器以后对该文档的访问会自动使用新地址
  • 302,找到,和301类似,但是Location返回的是一个临时的,非永久的URL地址
  • 304,未修改,浏览器在请求时会通过一些请求头描述该文档的缓存情况,当服务器判断文档没有修改时,就通过304告诉浏览器继续使用缓存,否则浏览器讲使用200状态吗返回修改后的新文档。
  • 401,未经授权,例如spring security非法访问时候,当浏览器视图访问一个受密码保护的页面时候,且在请求头中没有Authorization传递用户信息,就会返回401状态码要求浏览器发送带有Authorization头的信息。
  • 403,禁止,服务器理解客户端的请求,但是拒绝处理,通常为服务器上文件或目录权限设置导致
  • 404,找不到
  • 500,服务器内部错误,例如controller里面抛出异常
  • 502,无效网关,服务器作为网关或者代理访问上有浏览器,但是上游服务器返回了非法响应,也就是服务器只是作为代理
  • 504,网关超时,服务器作为网关或者代理访问上游服务器,但是未能在规定事件内获取上游服务器的响应,例如上游服务器挂了。

响应头

  • Server 服务器的类型和版本信息
  • Date 服务器的响应信息
  • Expires 控制缓存的过期时间
  • Location 控制浏览器显示哪个页面(重定向到新的URL)
  • Accept-Ranges 服务器是否支持分段请求,以及请求范围
  • Cache-Control 服务器控制浏览器如何进行缓存
  • Content-Disposition 服务器控制浏览器以下载方式打开文件
  • Content-Encoding 编码
  • Content-Length 实体内容长度
  • Content-Language 实体内容的语言和国家名
  • Content-Type 实体内容的类型和编码类型
  • Last-Modified 请求文档的最后一次修改时间
  • Transfer-Encoding 文件传输编码
  • Set-Cookie 发送Cookie相关信息
  • Connection 是否需要持久连接

当然需要记住就是,HTTP是无状态的协议,所谓登录状态实际上是通过session控制,而session在客户端则基本是以cookie方式存储。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值