HTTP入门
HTTP的作用就是指导浏览器和服务器如何进行沟通
- 浏览器负责发起请求
- 服务器80端口接收请求
- 服务器负责返回响应
- 浏览器下载响应内容
HTTP请求
- HTTP请求包括哪些部分
请求的格式
1 动词 路径 协议/版本
2 key1:value1
2 key2:value2
2 key3:value3
2 Content-Type:application/x-www-form-urlencoded
2 Host: www.baidu.com
2 User-Agent: curl/7.54.0
3
4 要上传的数据
- 请求最多包含4个部分,最少包含3个部分(第4部分可以为空)
- 第3部分是回车
- 动词有GET,POST,PUT,PATCH,DELETE,HEAD,OPTIONS等
- 这里的路径包括查询参数但不包括锚点
- 如果没有写路径,默认为/
- 第2部分的Content-Type标注了第4部分的格式
- 如何用Chrome开发者工具查看HTTP请求内容
- 打开Network(右击-检查-下方)
- 地址栏输入网址
- 在network点击查看request,点击view source
- 可以看到请求的前3部分
- 如果有第4部分,在FormDate和Payload中可以看到
HTTP响应
- HTTP相应包括哪些部分
响应的格式
1 协议/版本号 状态码 状态解释
2 key1:value1
2 key2:value2
2 Content-Length:17938
2 Content-Type:text/html
3
4 要下载的内容
- 状态码要记住,是服务器对浏览器说的话
- 1xx 不常用
- 2xx 不成功(200普通成功get,204创建成功post)
- 3xx 去别的地方吧(301永久搬走,302暂时)
- 4xx 你错了
- 5xx 我错了
- 状态解释没什么用
- 第2部分的Content-Type标注了第4部分的格式
- 第2部分的Content-Type遵循MIME(多功能网际邮件扩充协议)规范
- 如何用Chrome开发者工具查看HTTP响应内容
- 打开network
- 输入网址
- 选中第一个响应
- 查看Response Headers,点击view source
- 可以看到响应的前2部分
- 查看Response或Preview可以查看响应的第4部分
如何使用curl命令
curl命令是一个利用URL规则在命令行下工作的文件传输工具。
- 语法
curl(选项)(参数) - 选项
-a/--append 上传文件时,附加到目标文件
-A/--user-agent <string> 设置用户代理发送给服务器
-anyauth 可以使用“任何”身份验证方法
等等 - curl命令可以用来
- 获得页面
- 获取表单
- 使用PUT,此时curl命令使用-T参数
- 处理各种情况的认证页面,例如下载用户名/密码认证方式的页面
- 引用
- 指定用户端
- 加密HTTP
- cookies
curl -L http://baidu.com
curl -s -v -- http://baidu.com
网友评论