http协议(1)

学习资源:燕十八的http课程(公开形式的资源,请自行查找)  一二节

我的笔记:

Http笔记 - 一些重点


------------概述:-----------------
原始状态 客户端 和 服务器 没有链接
客户端 建立连接 发送请求
服务端 回沿连接 响应请求
断开连接 


------------观察--------------------------
打开chrome 打到network 下的 header选项卡
RequestHeader 请求头
ResponseHeader响应头


-----Http请求信息和响应信息-格式------
请求:
①请求行
  |-----请求方法 GET POST PUSH DELETE TRACE OPTIONS
  |-----请求路径 
  |-----所用协议 
②请求头信息
③请求主体信息


-------telnet---GET测试----------------
浏览器可以发送HTTP协议,那浏览器一定要浏览器来发送麽?
answer : no . it only is a 协议 ,just to send


打开wamp,准备好服务器环境
打开cmd,实验telnet,测试本机ip = 121.249.13.202
telnet 本机ip 端口号【默认80】 回车
ctrl+] 进入回显 再回车
输入
GET /test.php HTTP/1.1
Host : localhost
连续俩次回车,即可以得到主体信息


GET / HTTP/1.1 请求行
Host : localhost 请求头部信息
【头信息结束之后有一个空行,以和主体信息做区分】


--------POST请求方式--------------------
POST /test.php HTTP/1.1 
Host:localhost     
Content-type:application/x-www-form-urlencoded
Content-length:30


username=zhangsan&age=28
--------个人理解(1)---------------------
个人理解:浏览器的实质也是如此,通过http协议将主体消息发送给服务器,服务器文件处理数据,然后响应,响应过程中通过响应行声明协议、状态码、状态文字,然后返回响应头信息,之后返回响应的主题信息


---------------响应--------------
响应行(协议 状态码 状态文字)
响应头信息(格斯为key:value)
空行
主体信息(也可能没有)
例子:
HTTP/1.1 200 OK
Date:Fri,18 Mar 2016 04:56:28 GMT
Server:Apache/2.4.9 (Win32) PHP/5/5/12
X-Power-By:PHP/5.5.12
Content-Length:17
Content-Type:text/html
----------------------------------
请示方法有哪些?
GET POST HEAD PUT TRACE DELETE OPTIONS


注意:这些请求方法虽然HTTP协议里规定的,但是Web Server中未必允许或者支持这些方法


HEAD 和 GET基本一致,只是不返回内容
such as:只是确定服务器中某图片是否依然存在,可以使用HEAD


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


状态码 定义 说明
1**    信息 接收到请求,继续处理
2**    成功 操作成功地收到,理解和接收
3**    重定向 为了完成请求,必须采取进一步措施
4** 客户端错误 请求的语法有错误或不能完全被满足
5** 服务器错误 服务器无法完成明显有效的请求
可移步这里
http://www.blogjava.net/zjusuyong/articles/304788.html


/*********面试需要记住************/
200 - 服务器成功返回相应
301/2 - 永久重定向
304 - Not Modified 未修改 取得是缓存
(可参考燕十八的HTTP课程第二节中的测试实验以加深理解)
(实际上测试很简单,在telnet的请求头上加上标签)
失败的状态码
404 - 请求的网页不存在
500 - 服务器内部错误
503 - 服务器暂时不可用


如果post请求遭遇服务器重定向时发生数据无法转发的情况,请在重定向的时候强制使用307的状态码,如
header("Location:你要重定向的url",true,307);

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值