http协议
URL:Uniform Resource Locator,统一资源定位符
URL方案:scheme,如http://,https://
服务器地址:IP:port
资源路径:
示例:http://www.test.com:80/bbs/index.php
基本语法:
<scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<frag>
params:参数,如 http://www.test.com/bbs/hello;gender=f
query: 如 http://www.test.com/bbs/item.php?username=tom&title=abc
frag:如 http://www.test.com/bbs/item.php#title-2
相对URL、绝对URL
http协议:
版本:http/0.9、http/1.0、http/1.1、http/2.0
stateless:无状态的协议,服务器无法持续追踪访问者来源。
cookie机制,session机制
http事务:请求request 和 响应response
报文语法格式:
request报文:
<method> <request-URL> <version>
<headers>
<entity-body>
response报文:
<version> <status> <reason-phrase>
<headers>
<entity-body>
method:请求方法,标明客户端希望服务器对资源执行的动作,主要有GET、HEAD、POST等
version:版本,HTTP/<major>.<minor>
status:状态码,三位数字,五大类,1XX、2XX、3XX、4XX、5XX、
reason-phrase:状态码标记状态的简要描述
headers:每个请求或响应报文可包含任意个首部,首部名称:值
entity-body:请求体或响应体,请求或响应时附加的数据,
协议查看或分析的工具:tcpdump,tshark,wireshark
首部分类:
通用首部、请求首部、响应首部、实体首部、扩展首部
curl命令
curl是基于URL语法在命令行方式下工作的文件传输工具,支持FTP,FTPS,HTTP,HTTPS,GOPHER,TELNET,DICT,FILE及LDAP等协议。curl支持HTTPS认证,并支持HTTP的P