HTTP探索之初学乍练
一、什么是HTTP? Hypertext Transfer Protocol(HTTP)协议(RFC7230) 一种无状态的、应用层、以请求/应答方式运行的协议,它使用可扩展的语义和自描述消息格式,与基于网络的超文本信息系统灵活的互动。 二、HTTP请求行与响应行 请求行格式(ABNF方式描述) Request-line = method SP request-target SP HTTP-version CRLF HTTP常见方法(RFC7231) GET:主要的获取信息方法,大量的性能优化都针对该方法,幂等方法 HEAD:类似GET方法,但服务器不发送BODY,用以获取HEAD元数据,幂等方法 POST:常用于提交HTML FORM表单、新增资源等 PUT:更新资源,带条件时是幂等方法 DELETE:删除资源,幂等方法 CONNECT:建立tunnel隧道 OPTIONS:显示服务器对访问资源支持的方法,幂等方法 TRACE:回显服务器收到的请求,用于定位问题。有安全风险 Request-target origin-form:后端请求资源的路径,为空时传递/ absolute-form:用于正向代理 authority-form:用于CONNECT方法 asterisk-form:用于OPTIONS方法 HTTP-version 版本号发展历史 HTTP/0.9:只支持GET