网络基础
URL
的组成结构:协议名
: //主机名
[:端口号]
[/路径]
[?查询字符串]
- 协议默认
端口
:- http:80,开发常用端口有 3000、8080、8090、9000
- https: 443
如果端口被其他程序占用,可以使用 资源监视器 找到占用端口的程序,然后使用任务管理器关闭对应的程序
IP
:- 分类:
- 本机回环IP:127.0.0.1 ~ 127.255.255.254
- 局域网IP(私网):
- 192.168.0.0 ~ 192.168.255.255
- 172.16.0.0 ~ 172.31.255.255
- 10.0.0.0 ~ 10.255.255.255
- 广域网IP(公网):除上述之外
- 本质:是一个数字标识,用来标志网络设备,实现设备间通信 。例如路由器的IP地址为192.168.1.1,开通(电信、移动、联通)网络之后,会新增一个广域网IP地址,用来访问互联网。
- 分类:
全局方法
- URL:
获取路径和查询字符串
推荐使用的方法const url = new URL(request.url, 'http://127.0.0.1'); // 路径 console.log(url.pathname); // 查询字符串对象 console.log(url.searchParams);
http模块
-
请求体:
- get方法:请求体为空
- post方法:有2种方式(form表单提交、ajax请求),请求体不为空
-
响应报文设置:
- 状态码:response.statusCode
- 状态描述:response.statusMessage
- 响应头信息:response.setHeader(‘头名’, ‘头值’)
- 响应体:
- response.write: 可以写多个,也可以不写
- response.end(字符串或buffer类型):每个请求都必须要执行,必须写
-
媒体资源类型(MIME类型):
- 说明:是一种标准,用来表示文档、文件、字节流的性质和格式。例如HTTP服务可以设置响应头Content-Type来表明响应体的MIME类型,浏览器会根据该类型来决定如何处理资源
- 结构:
[type]/[subType]
,例如:text/html、text/css、image/png、application/json - 对未知的资源类型进行下载操作:浏览器在遇到
application/octet-stream
类型的响应时,会对响应体内容进行独立存储,即下载
-
get与post请求的区别:
- 作用:get主要用来获取数据,post主要用来提交数据
- 参数位置:get的参数在url后面,post的参数在请求体中
- 安全性:post请求相对get安全一些,不会将参数暴露在url地址栏,get请求容易受到跨站请求攻击
- 大小限制:get一般限制为2K,post则没有大小限制