url解析
第一:url(网址)
https://www.baidu.com/s?wd=yuan
解析:
协议:https
域名:www.baidu.com
端口:默认80
路径:/s # 直到遇见?为止,问号前是路径 ---网站的目的就是路径
查询参数: wd=yuan
注意:
-
参数起到了限制的目的
-
参数之间用&关联
如:
https://www.lagou.com/wn/zhaopin?fromSearch=true&kd=python&city=全国 -
翻页:pn=1
如:
https://www.lagou.com/wn/jobs?fromSearch=true&kd=python&city=上海&pn=1
第二:请求协议格式【浏览器组装】
格式:
请求首行【包含请求类型、路径+参数+协议类型】
请求头1(k:v)
请求头2(k:v)
请求头....(k:v)
空行
请求体 # 放数据
案例
https://www.lagou.com/wn/jobs?fromSearch=true&kd=python&city=上海&pn=1
解析:
get wn/jobs?fromSearch=true&kd=python&city=%E4%B8%8A%E6%B5%B7&pn=1 https/1.1
host:www.lagou.com
accept:text/plain/img/xml/*
user-agent:Win/Chrome
第三:get请求和post请求
区别:
get 请求的数据内容放在路径后面 --查询等使用(拿数据,查询)
post 请求的数据放在最后的请求体里面 -- 一般登录等使用(敏感数据,增删改)
举例:
get请求
get login?**user=yuan&pwd=123** https/1.1
host:www.lagou.com
accept:text/plain/img/xml/*
user-agent:Win/Chrome
post请求
格式一:
post login https/1.1
host:www.lagou.com
accept:text/plain/img/xml/* # 可以支持的格式
user-agent:Win/Chrome # 用户的信息(重要)
content_type:form # post请求体的格式
user=yuan&pwd=123 # url_encoded form表单格式
格式二:
post login https/1.1
host:www.lagou.com
accept:text/plain/img/xml/*
user-agent:Win/Chrome
content_type:json # post请求体的格式
{"user":"yuan","pwd":123} # json格式
content-type
请求协议中的content-type头 【重要】
第三: 响应协议格式【服务器应用程序组装】
格式:
响应首行
响应头
响应体 【重要】
举例:
https/1.1 200 ok # 响应头 响应码
content-length:72 # 返回的字节
content-date:年月日时分秒 # 响应日期
content-type:html
content-type 数据(html/json/image)--重要
表示返回的页面还是……
返回页面
响应码:
- 1开头 进行中
- 200 201 成功
- 301 302 重定向
- 401 402 404 客户端错误
- 500 服务器错误