网络基础
1.常见的HTTP请求头和响应头及其作用
- 常见请求头(Request Headers)
- Host:指定请求的服务器域名和端口
- User-Agent:客户端浏览器或应用标识
- Accept:声明客户端可接收的响应数据类型(如 text/html)
- Content-Type:请求体的数据类型(如 application/json)
- Cookie:携带服务器设置的Cookie信息
- Authorization:用于身份验证(如 Bearer token)
- 常见响应头(Response Headers)
- Content-Type:响应体的数据类型(如 application/json)
- Set-Cookie:服务器向客户端设置Cookie
- Cache-Control:控制缓存策略(如 no-cache)
- Location:重定向目标URL(如 302 跳转)
2.Cookie和Session的区别
- Cookie
- 存储在客户端(浏览器)
- 可设置过期时间
- 大小受限(~4KB)
- 可能被篡改(需加密)
- Session
- 存储在服务器端
- 默认基于会话(浏览器关闭失效)
- 存储数据量更大
- 更安全
Cookie工作原理:
(1) 服务器通过 Set-Cookie 响应头下发Cookie。
(2) 浏览器存储Cookie,后续请求自动携带 Cookie 请求头。
(3) 服务器读取Cookie进行身份验证或状态管理。
3.常见HTTP状态码
- 200 OK:请求成功
- 301 Moved Permanently:永久重定向
- 302 Found:临时重定向
- 400 Bad Request:请求语法错误
- 401 Unauthorized:未认证
- 403 Forbidden:无权限访问
- 404 Not Found:资源不存在
- 500 Internal Server Error:服务器内部错误
4.Ajax请求及实现
Ajax(Asynchronous JavaScript and XML) 是一种异步请求技术,无需刷新页面即可获取数据。
示例:
(1) 原生JavaScript:
1 |
|
(2) 现代方式(Fetch API):
1 |
|
5.HTML5新特性
- 语义化标签:< header >, < footer >, < article >, < section >
- 多媒体支持:< video >, < audio >
- 本地存储:localStorage, sessionStorage
- Canvas/SVG绘图:动态图形渲染
- Web Workers:多线程计算
6.JavaScript闭包
闭包(Closure) 是函数与其词法环境的组合,允许函数访问外部作用域的变量。
示例:
1 |
|
作用: 封装私有变量、实现模块化。
7.JSON数据格式
JSON(JavaScript Object Notation) 是轻量级数据交换格式。
示例:
1 |
|
8.正则表达式验证邮箱
1 |
|
9.Jsoup CSS选择器 vs XPath
(1) Jsoup CSS选择器示例:
1 |
|
(2) XPath示例(需结合其他库如Jsoup+XPath):
1 |
|
区别:
- CSS选择器:更简洁,适合HTML解析。
- XPath:功能更强大,支持复杂路径查询。
10.WebMagic核心组件
- Downloader:下载网页
- PageProcessor:解析页面(定义爬取逻辑)
- Scheduler:URL调度(去重、队列管理)
- Pipeline:数据存储(如存数据库)
11.MyBatis vs Hibernate
- MyBatis
- SQL手动编写
- 更灵活,适合复杂查询
- 基于XML/注解
- Hibernate
- 自动生成SQL
- 更自动化,适合简单CRUD
- 基于JPA标准
网络基础
http://example.com/2025/01/10/网络基础/