超文本传输协议是一种无状态的协议,它位于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连接。
posted on 2019-03-26 16:02 阅读( ...) 评论( ...) 收藏