HTTP协议是超文本传输协议的所写,它是TCP/IP协议的一个应用层协议,用于定义web浏览器和web服务器之间交换数据的过程。
TCP/IP协议的应用层协议还有POP3等协议
一、HTTP请求
(一)一个完整的HTTP请求包括:
一个请求行、若干请求头、以及实体内容。
GET方式向服务器发请求的特点:提交给服务器的数据量不能超过1k;提交的数据在URL地址里是可见的,如果涉及到敏感信息不推荐使用该方法。
POST方式向服务器发请求的特点:提交给服务的数据量无限制;提交的数据在地址栏的url里是不可见的,可用于向服务器传递敏感信息,如用户名密码等。
(二)HTTP请求的细节——消息头
Accept:用于告诉服务器,客户机支持的数据类型;
Accept-Charset:用户告诉服务器,客户机采用的编码;
Accept-Encoding:客户机支持的数据压缩格式;
Accept-Language:客户机的语言环境;
Host:客户机通过这个头告诉服务器,想访问的主机名;
If-Modified-Since:客户机通过这个头告诉服务器,资源的缓存时间;
Referer:客户机通过这个头告诉服务器,它是从哪个资源来访问服务器的(防盗链)
User-Agent:客户机通过这个头告诉服务器,客户机的软件环境;
Cookie:客户机通过这个头可以向服务器带数据;
Connection:close/keep-alive(保持链接或断开链接)
Date:
二、HTTP响应
(一)一个完整的HTTP响应包括:
服务器在给浏览器回送数据时,可以通过消息头来控制浏览器怎么处理回送的数据以及告诉客户机服务器的一些基本信息。
(二)HTTP响应细节——状态行
格式:HTTP版本号 状态码 原因叙述;举例:HTTP/1.1 200 OK
状态码用于表示服务器对请求的处理结果,它是三位的十进制数。
(三)HTTP响应细节——常用响应头
Location:这个头配合302状态码使用,用于告诉客户机找谁。用location和302实现请求重定向
Server:告诉浏览器服务器的类型;
Content-Encoding:通过这个头浏览器数据的压缩格式
Content-Length:服务器通过这个头告诉浏览器回送数据的长度
Content-Type:服务器通过这个头告诉浏览器回送数据的类型