HTTP协议
B/S网络结构
- B/S,Brower/Server(浏览器/服务器),是当前最流行的网络模式,将所有的功能放在服务器上,客户端只需要一个浏览器软件即可。
- C/S,Client/Server(客户端/服务器),在这种模式下,客户端电脑必须要安装相应的客户端软件。如:QQ聊天、MySQL客户端/MySQL服务器。
- 静态网页和动态网页:文件代码中,是否含有服务器端的脚本语言。如:PHP、Java、ASP、JSP、C#。
HTTP协议
- HTTP,HyperText Transfer Protocol,超文本传输协议,是一种网络数据的传递标准。
- HTTP也是请求和响应的一种标准
HTTP协议之URL
- URL概念:
- Uniform Resource Locator统一资源定位符,
- 统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。
- 互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它
URL的构成
- protocol:网络协议,访问不同资源所采用的规则。
- 如:ftp、http、https、 email、news、telnet
- host:资源主机名,可以是IP地址或域名
- 如:www.baidu.com、183.232.231.172
- port:代表主机端口号,
- 如:80,21,25,1080,3306
- directory:访问资源所有的目录名称,ergouge/article
- 如:http://blog.csdn.net/ergouge/article
- filename:访问的文件名称,php_superglobals.asp
- 如:http://www.w3school.com.cn/php/php_superglobals.asp
- ?key=value,访问的参数,utm_source=tuicool&utm_medium=referral
- https://zhuanlan.zhihu.com/p/20782320?utm_source=tuicool&utm_medium=referral
- 完整的URL:
- 协议名://ip地址(域名):80/目录/请求的文件的名称?键1=值1&键2=值2
报文
- 请求报文
- 请求报文头
- 请求方式 请求的url 协议版本
GET http://www.a.com/ HTTP/1.1
- 请求方式 请求的url 协议版本
- 请求报文行
Host: www.a.com
Connection: keep-alive
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.8 - 固定换行
- 换行 中没有内容,只是用来隔开请求报文行与请求报文体的
- 请求报文体
- 一般为空
- 响应报文
- 响应报文头
- 状态码:http://blog.csdn.net/windyf2013/article/details/77834714
- 请求的HTTP协议版本 响应的状态码
HTTP/1.1 200 OK
- 响应报文行
Date: Mon, 18 Sep 2017 20:34:21 GMT
Server: Apache/2.2.22 (Win32) PHP/5.3.13
Content-Length: 427
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html;charset=UTF-8 - 固定换行
- 隔开响应报文行和响应报文体
- 响应报文体