HTTP协议学习笔记之(二)工作流程与状态吗

首先上图:

HTTP请求方法有哪些?###

GET POST HEAD PUT TRACE DELETE OPTIONS
前三种比较常用

HEAD: 和GET基本一致,只是返回内容不同,比如我们只是确认一个内容(比如照片)还正常存在,不需要返回照片的内容,这时用HEAD比较合适

TRACE: 使你用了代理上网,比如用代理访问new.163.com,你想看看有没有修改你的HTTP请求。可以用TRACE来测试一下,163.com的服务器就会把最后的请求返回给你,但有一点就是,对方的服务器可能不允许你使用TRACE方法。如下图:
使用命令:telnet news.163.com 80

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

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

HTTP响应###

状态码:是用来反映服务器响应情况的,最常见的如200 OK,404 NOT FOUND

状态码 定义 说明
1XX 信息 接收到请求
2XX 成功 操作成功地收到,理解和接收
3XX 重定向 为了完成请求,必须采取进一步的措施
4XX 客户端错误 请求的语法有错误或不能完全被满足
5XX 服务端错误 服务器无法完成明显有效的请求

200 - 服务器成功返回网页
301/2 - 永久/临时重定向
默认是302重定向
header("Location:http://www.baidu.com")
指定用301重定向,true 意指用301信息替换原来的头信息
header("Location:http://www.baidu.com",true,301) 301

304 - Not Modified - 未修改(客户端向浏览器请求,在第一次请求成功返回
200ok后,会把请求的内容存入客户端缓存中,如果下次请求相同的内容,并且内容没有被修改,则会从缓存中提取数据。)

对于一片新闻,GET请求,重定向无所谓,还能看到原来的内容就行,但如果是POST数据,比如,表单-->demo1.php 重定向-->demo2.php,那问题来了,数据提交到demo1.php,demo1.php重定向到demo2.php后,数据就会丢失,怎么解决?
答:使用307进行重定向

307 - 重定向中保持原有的请求数据

posted @ 2017-02-23 17:40  FullStackMe  阅读(122)  评论(0)    收藏  举报