1.http协议有哪几种常用请求方式?
GET, POST , PUT, DELETE
2.get和post请求区别是什么?
根据HTTP协议,原则上,
get: 拼接url, 长度很有限,切相对安全性差
post: request body,相对安全性好
原则上, get只有请求头部分,发送一次就结束了
post请求带request body,第一次发送reques header,还要第二次发送requestbody 才把所有内容发送完成。
3.常见的 POST 提交数据方式
①Json ②url encoding ③XML
application/x-www-form-urlencoded
multipart/form-data
application/json
text/xml
4.cookies机制和session机制的区别,HTTP无状态协议变为HTTP有状态协议
都是解决登录后持续访问的问题:
客户端浏览器第一次发起请求提交登录信息给服务器后端,
建立一个唯一sessionid,保存在服务器,并返回响应Set-Cookie,
在客户端浏览器存储下这个sessionid,当端浏览器第二次通过这个url下发起HTTP请求时,请求头中自动携带这个Cookie存放的sessionid发送到服务器,服务器通过这个session唯一标识一个用户信息。
5.发送一个 HTTP请求报文的过程
TCP建立链接
请求报文
1.请求行= 请求方式(get/post) + URL+ HTTP/1.1 协议
2.请求头 request header
3.Request body
发送一个HTTP请求头
返回一个请求头的response
如果有request body
再次发送(第二次自动发送)request body
再接收一个request body的响应体
响应报文
1.响应行 = HTTP/1.1 200响应码 OK描述
2.响应头 data-type contend-lens
3.响应体 data
6.常见的状态码
200 OK 响应正常
404 Not Found 访问的url错误
500 服务器后端的错误
401 Unauthorized: 未登录
403 Forbidden: 用户级别不足
7.Http和Https区别?
基于TCP 全双工长连接,HTTP/1.1 通信完成后会保持通话一段时间
80端口 HTTP (3个包)协议传输的数据都是未加密的,也就是明文的
443端口 HTTPS协议是由HTTP (3个包)+SSL (9个包)协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
8.如何定位前后端
问题:修改了参数后 点击提交 没有反应,这个时候怎么定位时前端还是后端的bug issue?
要用fidder抓包来看
1、看一下前端是否发送的正确的请求消息,如果没有发送或者发送了错误的请求消息 则是前端问题
2、如果发送了正确的请求消息: 但是服务器没有相应数据返回,则是服务端问题
3、如果发送了正确请求消息,服务端响应了 但是相应错了,这个还是服务端的问题
4、如果发送了正确的请求,服务端也相应了,相应也是正确的,这个就是前段问题
Request-line:
Content-length:
Content-type:
Data:
body
Response-line:
Content-length:
Content-type:
Data:
①url encoding②Json ③XML
- https://www.baidu.com/s?wd=iphone\&rsv_spt=1
问号后面的部分 wd=iphone&rsv_spt=1 就是 url 参数,
每个参数之间是用 & 隔开的。
上面的例子中有两个参数 wd 和 rsv_spt, 他们的值分别为 iphone 和 1
url参数的格式,有个术语叫 urlencoded 格式。
8.浏览器输入url按回车背后经历了哪些?
xxxx