1. http和https的概念
- HTTP
- 超文本传输协议 默认端口号:80
- 默认端口号:80 - HTTPS
- HTTP + SSL(安全套接字层) 默认端口号:443
- 默认端口号:443
HTTPS比HTTP更安全,但是性能更低
2.浏览器发送HTTP请求的过程
浏览器会主动请求js,css等内容,js会修改页面的内容,js也可以重新发送请求,最后浏览器渲染出来的内容在elements中,其中包含css,图片,js,url地址对应的响应等。
但是在爬虫中,爬虫只会请求url地址,对应的拿到url地址对应的响应
浏览器渲染出来的页面和爬虫请求的页面并不一样
所以在爬虫中,需要以url地址对应的响应为准来进行数据的提取
3.url的形式
url的形式:scheme://host[:port#]/path/…/[?query-string][#anchor]
- scheme:协议(例如:http, https, ftp)
- host:服务器的IP地址或者域名
- port:服务器的端口(如果是走协议默认端口,80 or 443)
- path:访问资源的路径
- query-string:参数,发送给http服务器的数据
- anchor:锚(跳转到网页的指定锚点位置)
- http://localhost:4000/file/part01/1.2.html
- http://item.jd.com/11936238.html#product-detail
- url地址中是否包含锚点对响应没有影响
4.HTTP请求的形式
这个图大家见过很多次,那么在浏览器headers中,点击view source来具体观察其中的请求行,请求头部和请求数据是什么样子的
5.HTTP常见请求头
- Host (主机和端口号)
- Connection (链接类型)
- Upgrade-Insecure-Requests (升级为HTTPS请求)
- User-Agent (浏览器名称)
- Accept (传输文件类型)
- Referer (页面跳转处)
- Accept-Encoding(文件编解码格式)
- Cookie (Cookie)
- x-requested-with :XMLHttpRequest (是Ajax 异步请求)
6.常见的请求方法
- GET
- POST
get请求和post请求的区别可以参w3school
7.响应状态码(status code)
常见的状态码:
- 200:成功
- 302:临时转移至新的url
- 307:临时转移至新的url
- 404:not found
- 500:服务器内部错误