HTTP协议的工作流程
对于一篇新闻,GET请求,重定向无所谓,还能看到原来的内容就行
但如果是POST请求
例如04.html->05.php->06.php结果是:???????数据丢失!!!!!!!
这个问题怎么处理?
答:此问题怎么办?可以用307请求!!!
application/x-www-form-urlencoded
Hello
用TELNET完成HTTP协议的POST请求
POST比GET多了主体信息
头信息里要标明主体的长度application/x-www-form-urlencoded
但是,服务器仍没有接到信息,因为POST时要告诉服务器Content-type:
301/302永久或临时重定向
304 NOT ModIFIED -未修改,从缓存里找,服务器减轻压力,服务器不知道客户端缓存没有
而是客户端告诉服务器,我有这个资源,修改日期+ETAG信息
307重定向中保持原有的请求数据
404:not found
403:forbiden
503:服务器错误
1XX信息接收到请求,继续处理
2XX成功操作成功收到,理解和接受
3XX重定向为了完成请求,必须采取进一步措施SEO常用
4XX客户端错误请求的语法有错误或不能完全被满足
5XX服务端错误服务器无法完成明显有效的请求
Leabharlann Baidu指定用301重定向,替换原来的头信息
Header(‘Location:http://www.baidu.com’,true,301);
另:头信息是非常丰富的,虽然我们图中只写了一个,而且头信息也是学习的重点
响应
1.响应行
2.响应头信息
3.响应主体信息
4.头部信息结束后和主题信息之间要空一行
响应行也分为3部分
协议版本
状态码
状态文字
响应头信息
Key:value
Key value
Content-lenth:接下来主体的长度
Content-type:
HTTP协议的工作流程
当你打开一个页面时,发生了什么
0.原始状态客户端和服务器之间没有关系
什么叫连接,就是网络上的虚拟电路
HTTP请求信息和响应信息的格式
请求
1.请求行
2.请求头信息
3.请求主体信息
4.头部信息结束后和主题信息之间要空一行
所用的协议一般是HTTP/1.1
请求行又分三部分
请求方法请求路径所用的协议版本
请求方法:GET/POST PUT DELETE TRACE OPTIONS等
问:浏览器能发送HTTP协议,HTTP协议一定要浏览器来发送吗?
答:不是这样的,HTTP既然是一种协议,那么只要满足这种协议,什么工具都可以
注意:头部信息结束后,有一个空行,头信息和主体信息如果有,需要这个空行作区分
即使没有主体信息,空行也不能少
请示方法有哪些?
GET POST PUT TRACE DELETE OPTIONS...
要注意常用的就是GET POST HEAD
HEAD与GET基本一致,只是不返回内容
比如我们只是确认一个内荣(比如照片)还正常存在,不需要返回照片的内容,此时用HEAD合适
注意这些请求方法,虽然HTTP协议规定的,但WEBSERVER未必允许或支持这些方法
服务器到底支持哪些方法呢?
TRACE?:你用了代理上网,比如用代理访问news.163.com,你想看看代理有没有修改你的HTTP请求,可以用TRACE来测试一下,163的服务器就会把最后收到的请求返回给你.
OPTIONS:返回服务器可用的请求方法:
响应详细
状态码:是用来反映服务器的相应情况的
例:
200:OK