HTTP和HTTPS

1. HTTP

  超文本传输协议

  默认端口号:80

2. HTTPS

  HTTP + SSL(安全套接  字层)

  默认端口号:443

  HTTPS比HTTP更安全,但性能更低

4. url的形式

 url的形式:scheme://host[:port#]/path/.../\[?query-string][#anchor]

  scheme: 协议(例如:http、https、ftp)

  host:服务器的IP地址或域名

  port:服务的端口号(如果是走协议默认:80或443)

  path:访问资源的路径

  query-string:参数,发送给http服务器的数据

  anchor:锚(跳转到网页的指定锚点位置)

5. HTTP请求的形式

img

6.HTTP常见请求头

  1. Host: 主机和端口号

  2. Connection keep-alive(链接类型)告诉对方服务器是什么客户端正在请求资源,爬虫中模拟浏览器非常重要的一个手段

  3. Upgrade-Insecure-Requests(升级为HTTPS请求)

  4. User-Agent(浏览器名称)Mozilla/5.0 (Windows NT 5.1; rv:10.0.2) Gecko/20100101 Firefox/10.0.2  请求头

  4. Accept(传输文件类型)

  5. Referer(页面跳转处)

  6. Accept-Encoding(文件编解码格式)

  7. Cookie (Cookie)获取登录之后才能够访问的资源

  8. x-requested-with: XMLHttpRequest(是Ajax异步请求)

7. 常见请求法方

  • get
  • post
对比 get post
后退按钮/刷新 无害 数据会被重新提交
书签 可收藏为书签 不可收藏为书签
缓存 能被缓存 不能缓存
编码类型 application/x-www-form-urlencoded application/x-www-from-urlencoded或multipart/form-data。为二进制数据使用多重编码
历史 参数保留在浏览器中 参数不会保存在浏览器中
对数据长度的限制 当发送数据时get方法向URL添加数据;URL的长度是受限制的(URL最大长度是2048个字符) 无限制
对数据类型的限制 只允许ASCII字符 没有限制,也允许二进制数据
安全性 与POST相比GET的安全性比较差,因为所发送的数据是URL的一部分,发送密码或敏感信息时绝不要使用GET! post比get更安全,参数不会被保存在浏览历史或web服务器中
可见性 数据在URL中对所有人都是可见的 数据不会显示在URL中

8.响应状态码(status code)

200 成功
302 临时转移至新的url
307 临时转移至新的url
404 not found
500 服务器内部错误