HTTP相关

时间:2024-03-15 17:14:48

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

  1. 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