HTTP详解---请求头的重要点说明

 http协议详解

http请求头部

基本方法
get 从服务器获取资源
post 在服务器创建资源
put 在服务器修改资源(幂等性,区别于post不同点,如果说请求10次,post就会10次每次结果不同,而put则是一样的。
delete 在服务器删除资源


其他方法
option 跨域
trace 用于显示调试信息(大多数网站不适用,因为会泄漏信息,可以看到链路看到源头
connect 代理
patch 对资源进行部分更新(极少数)


状态码

状态码
1xx:提供信息

  • 100 continue 提供信息
  • 101 http协议切换(switch Protocol)
    2xx 成功
  • 200 ok(get)
  • 201 created 已创建(post)
  • 202 Accepted 已接收
  • 203 Non-Authoritative Information 非权威内容(代表内容传过来在中间被修改了)
  • 204 No Content 没有内容(put)
  • 205 Reset Content 希望你重置内容(也就是是请求拿走了,希望你重置一下,让用户下一次填写)
  • 206 Partial Content 服务器下发了部分内容(range header)

3xx 重定向(资源拿不到)

  • 300 Multiple Choices用户请求了多个选项的资源(返回选项列表)
  • 301 Moved Permanently 永久转移
  • 302 Fond 资源被找到(以前是临时状态)(后来拆分为303,307)
  • 303 See Other 可以使用GET方法在另一个url找到资源(303只区get)
  • 304 Not Modified 没有修改(缓存特别说明)
  • 305 Use Proxy 需要代理 说明你没有权限需要代理服务器
  • 307 Temporary Redlirect临时重定向
  • 308 Premanent Redirect 永久重定向(不会改变方法,而301会变为get)

301vs308(重点)
共同点

  • 资源被永久转移
    差异
  • 客户端收到308请求后,之前是什么method,那么之后也会延用这个method(POST/GET/PUT)到新地址
  • 客户端收到301请求后,通常用户会向新地址发起GET请求

**302/303/307**  
共同点 
* 资源临时放到新地址(请不要缓存)

差异
* 302 是http1.0提出的,最早叫做Moved Temporarily;很多浏览器实现时候没有遵照标准,把所有请求都重新定向get。
* 303 告诉客户端使用get方法重定向
* 307 告诉客户端使用元method重定向资源

4xx 客户端错误(一般是浏览器,一个网址但是不存在就会返回404)

  • 400 Bad Request 请求格式错误(通常程序员错了)
  • 401 Unauthorized 没有授权 看到就可以跳登录
  • 402 Payment Required 请先付费
  • 403 Forbidden 禁止访问,就是说你要去找管理员了
  • 404 Not Found 没有找到
  • 405 Method Not Allowed 方法不被允许
  • 406 Not Acceptable 服务端可以提供的内容和客户端期待不一样

500 服务端错误

  • 500 Internal Server Error(内部服务器错误)
  • 501 Not Implemented(没有实现)就是说他知道有这个,但是还没写的情况
  • 502 Bad Gateway (网关错误(网关给的,可以看网关错误))
  • 503 Service Unavailable(服务不可用,原因:内存用光了,服务在连接中)
  • Gateway Timeout(网关超时)查网光,可能就是服务器挂了
  • 505 HTTP Versio Not Supported(版本不支持)

常见HTTP头部

Content-Length
发送给接收者的body内容长度(字节)

  • 一个byte是8bit
  • utf-8编码字符1-4字节

User-Agent
帮助区分客户端特性的字符串
(不是浏览器环境可能没有这个)
爬虫要这个,要不然会被浏览器忽略

  • 操作系统
  • 浏览器
  • 制造商(手机类型)
  • 内核内容
  • 版本号。。。

Content-Type
帮助区分资源媒体类型(Media Type/MIME Type)

  • text/html
  • text/css
  • application/json
  • img/jpeg

Origin
描述请求来源

  • scheme://host:port
  • 不含路径
  • 可以是null

Accept
协商,非硬性要求

  • 建议服务端返回何种媒体类型(MIME Type)
    • */*代表所有类型(默认)
    • 多个类型用逗号隔开
  • Accept-Encoding:建议服务端发送那种编码(压缩算法)
    • deflate,gzip;q(权重)=1,*;q=0.5
  • Accept-Language:建议服务器传递哪种语言
    • Accept-Language:fr-CH,fr;q=0.9,en;q=0.8,de;q=0.7,*;q=0.5

Referer
告诉服务端打开当前页面的上一张url;如果是ajax请求,那么就告诉服务端发送请求的url是什么

  • 非浏览器环境下不发送Referer(或者虚拟Referer,通常爬虫)
  • 常常用户用户行为分析

Connection
决定连接是否在当前事物完成后关闭

  • http1.0 默认close
  • http1.1后默认 keep-alive(不关闭TCP通道,优化处理)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值