1.http有哪些请求方式
get | 发送一个请求来取得服务器上的某一资源 |
post | 向url指定的资源提交数据或者附加新数据 |
put | 跟post方法很像,也是向服务器提交数据。但是它们之间有不同,put指定了资源在服务器上的位置.post却没有 |
head | 只请求页面的首部 |
delete | 删除服务器上的某种资源 |
options | 用于获取当前url所支持的方法。如果请求成功,会有一个alow的的头包含类似'post.get'这样的信息 |
2.http的状态码有哪些?分贝代表什么意思?
1xx:信息状态码 | |
100 | contiune 继续 post 已发送了http head 之后服务端将返回此信息,表示确认之后发送具体参数信息 |
2xx成功状态码 | |
200 | ok 正常返回信息 |
201 | created 请求成功并在服务器创建了新的资源 |
202 | accepted 服务器已经接收请求但是尚未处理 |
3xx:重定向 | |
301 | moved permanently 请求的网页已经移动到了新的位置 |
302 | found 临时重定向 |
303 | see other 临时重定向,且总是使用get请求新的url |
304 | not modified 自从上次请求后,请求的网页没有修改过 |
4xx客户端错误 | |
400 | bad request 服务器无法理解请求的格式,客户端不应当尝试再次使用相同的内容发起请求 |
401 | unauthorized 请求未授权 |
403 | forbidden 禁止访问 |
404 | not found 找不到与URL相匹配的资源 |
5xx服务器错误 | |
500 | internal server error 最常见的服务端错误 |
503 | service unavailable 服务端暂时无法处理请求 |
3.get请求和post请求的区别
get:从指定的资源请求提交数据,用于获取数据
post:向指定的资源提交要被处理的数据,用于将数据发送给服务器
get | post | |
安全性 | 安全性较差不能用来传递敏感参数,因为它的参数是通过url传递的 | 相对安全 参数放在request中 |
能否被缓存 | 会被缓存 | 不会缓存 |
收藏 | 可以被收藏为书签 | 不可以被收藏为书签 |
历史记录 | 保留在浏览器的历史记录中 | 不会保留在浏览器的历史记录中 |
长度 | 有请求长度限制 | 对数据长度没有要求 |
tcp数据包 | 产生1tcp数据包 | 产生2个tcp数据包 |
get和post本身都是tcp的连接,并无差别。但是由于HTTP规定和浏览器/服务器的限制,导致它们在应用过程中体现出一些不同
4.http和https
http:协议运行在TCP之上,明文传输,客户端与服务器无法验证对方的身份,默认端口80
https:运行在ssl(secure socket layer)上面,ssl运行在tcp上面,是添加了加密和认证机制的http,默认端口443,https的加减密处理消耗更多的CPU和内存资源,还需要证书。