HTTP:
超文本传输协议(HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。
所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。
HTTP是一个客户端和服务器端请求和应答的标准(TCP)。是基于请求响应模式的,客户端是终端用户,服务器端是网站。
通过使用Web浏览器、网络爬虫或者其它的工具,客户端发起一个到服务器上指定端口(默认端口为80)的HTTP请求。
客户端发送给服务器的格式教请求协议
服务器发送给客户端的格式叫响应协议
HTTP是无状态协议
FIP是有状态的
URL统一资源定位符,就是一个网址:协议名//域名,端口/路径。
请求协议格式:
请求首行 :请求方式/ 请求路径 /协议和版本
请求头信息 :请求头名称:请求头内容,即为key:value格式
空行 :用来与请求体隔开
请求体 :GET没有请求体 POST有请求体
如果不是这个格式服务无法解读,有很多请求方法,最常用的就是GET和POST。请求体就是发给服务器的数据,比如登陆账号,FROM表单,账号密码一般不会出现在URL里面,会放在请求体里面,所以GET没有请求体,POST有请求体
请求协议:
GET :
1默认的请求方式,
2没有请求体,
3数据在1K之内,
4请求数据会暴露在地址栏里
- GET 127.0.0.1:8090/login HTTP/1.1:GET请求,请求服务器路径为 127.0.0.1:8090/login ,协议为1.1;
- Host:localhost:请求的主机名为localhost;
- *User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0:与浏览器和OS相关的信息。有些网站会显示用户的系统版本和浏览器版本信息,这都是通过获取User-Agent头信息而来的;
- Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8:告诉服务器,当前客户端可以接收的文档类型,其实这里包含了*/*,就表示什么都可以接收;
- Accept-Language: zh-cn,zh;q=0.5:当前客户端支持的语言,可以在浏览器的工具选项中找到语言相关信息;
- Accept-Encoding: gzip, deflate:支持的压缩格式。数据在网络上传递时,可能服务器会把数据压缩后再发送;