HTTP协议

  超文本传输协议是一种无状态的协议,它位于OSI七层模型的传输层。HTTP客户端会根据需要构建合适的HTTP请求方法,而HTTP服务器会根据不同的HTTP请求方法做出不同的响应。

1、HTTP有哪些方法?

(1)GET:请求会显示指定的资源,一般用于数据读取。

(2)POST:请求会向指定资源提交数据,请求服务器进程处理,如表单提交、文件上传等。

(3)HEAD:HEAD 方法与 GET 方法类似,但并不会返回响应主体,获取报头信息。

(4)PUT:请求会向指定资源位置上传其最新内容,更新数据。

(5)DELETE:用于请求服务器删除所请求URI所标识的资源

(6)CONNECT:HTTP/1.1协议预留的,能够将连接改为管道方式的代理服务器

(7)OPTIONS:OPTIONS请求与HEAD类似,一般也是用于客户端查看服务器的性能。使用 OPTIONS 方法对服务器发起请求,以检测服务器支持哪些 HTTP 方法。

(8)TRACE:请求服务器回显其收到的请求信息,该方法主要用于HTTP请求的测试或诊断。

2、GET和POST方法的区别?

方法  GET POST
后退/刷新 无影响 数据会被重新提交
可见性 数据在URL中对所有人可见的 数据在请求体中,不可见
安全性  安全性比较差,数据是URL的一部分 比较安全,参数不会被保存在浏览历史或web服务器日志中
书签    可收藏为书签 不可收藏为书签
缓存   能被缓存 不能被缓存
浏览历史  参数保留在浏览历史中 参数不会保留在浏览历史中
数据长度 有长度限制(看浏览的限制) 无限制

3、如何理解HTTP协议的无状态性

  WEB服务器可能同时要处理很多浏览器的并发访问,为了提高Web服务器的并发处理能力。协议的设计者规定:web服务器在接收到浏览器HTTP请求报文,返回应答报文之后不保存有关web浏览器的任何信息。即使是同一个web浏览器在几秒钟之内两次访问同一个web服务器,它也必须要分别建立两次TCP连接。

原文地址:https://www.cnblogs.com/GuixinChan/p/10599101.html