HTTP

web核心-HTTP协议

webservice = HTTP协议 + XML
Rest = HTTP协议 + json/XML

HTTP请求信息和响应信息

请求

  1. 请求行 ( 请求方法[GET,POST,PUT,DELETE,TRACE,OPTIONS,HEAD] 请求路径[URL一部分] 所用协议[1.0版本])

  2. 请求头信息(格式为 key:value)

  3. 请求主体信息

例:

POST /0606/php HTTP/1.1

Host:localhost

Content-type:application/x-www-form-urlencode

Content_length:5

响应

  1. 响应(协议 状态码 状态文字)

  2. 响应头信息(格式为 key:value)

  3. 主体信息(也可能没有)

例子:

HTTP/1.1 200 OK

Content-type:text/html

Content-length:5

hello

请求方法[GET,POST,PUT,DELETE,TRACE,OPTIONS,HEAD]

请求方法虽然是HTTP协议里规定的,但是WEB SERVER未必允许或支持这些方法

HEAD :和GET一致只是返回内容
比如我们确认一个内容是否存在不需要返回内容时这是HRAD比较合适

TRACE: TRACE可以测试代理有没有修改你的HTTP请求

OPTIONS :返回服务器可以用的请求方法

GET :获取服务器资源

POST :发送数据给服务器

状态码:用来反应服务器响应情况

1XX 信息 收到请求,继续处理

2XX 成功 操作成功接收,理解和接受

3XX 重定向 为了完成请求,必须采取进一步措施

4XX 客户端错误 请求的语法错误或不能完全被满足

5XX 服务端错误 服务器无法完成明显有效的请求

成功状态码

200 服务器成功返回网页
301/2 永久/临时重定向
304 NOT Modified 请求未修改(缓存可拿,减轻服务器负担)

失败的状态码

404 请求网页不存在
503 服务器暂时不可用
500 服务器内部错误

更多有意义的头

  • Content_Type,Content-Encoding等约束数据类型

  • Cookie保持会话信息

  • CORS实现跨域并保持安全限制


  Reprint please specify: 云深不知处 HTTP

 Previous
HTTP的三次握手 HTTP的三次握手
client — SYN = 1, Seq = X —-> server client <— SYN = 1, ACK = X + 1 ,Seq = Y —- ser
2019-02-16
Next 
vue-Webpack vue-Webpack
网页中引用的静态资源JS: .js .jsx .coffee .ts CSS: .css .less .sass .scss Img: .jpg .png .svg .gif fonts: .ttf .eot .wo
2019-02-14
  TOC