HTTP协议基础理解
HTTP(HyperText Transfer Protocol):超文本传输协议,所有的WWW文件都必须遵守这个标准。现在常用的版本是HTTP 1.1。
HTTP是一个客户端请求和浏览器应签的标准(TCP),浏览器和服务器通信的数据格式,默认端口:80
;HTTPS默认端口:443。
学习http协议,实际上就是要学习http规定的求的数据的格式以及响应的数据的格式。浏览器与服务器一问一答的规则。
HTTP请求
请求有多种方式,目前用的最多的是 get
和 post
请求,其它方式都被废弃掉了。
- 请求分三部份:请求行、请求头、请求体;
- 请求行:第一行
请求方式,url
地址,协议版本。 - 请求头:第二行开始
键值对形多,有多个请求头信息,key:value
形式体现,不同的请求头有各自对应的值和含义;用于告诉服务器浏览器相关信息。 - 请求体:get 请求方式没有请求体,post 请求方式有请求体。
- 请求行:第一行
- Get 和 Post 请求的区别:
- get 时没有请求体,post 有请求体。
- get 时请求的参数是会跟在 url 地址后,用
?
拼接,多个请求参数之间用&
符号分割。 - post 请求时的参数跟在请求体中,不需要用到**?,并且多个请求参数还是用&**符号分割。
- get 请求时,请求以参数部分是跟在 url 地址后的,有大小限制是1k,而post时请求参数跟在请求体中,整个第三部分都是请求体,没有大小限制。
HTTP响应
响应分三部分:响应行、响应头、响应体。
- 响应行:协议版本、状态码、额外的信息。
- 响应头:键值对形式 key:value, 有多个响应头信息, 不同的响应头有对应的值和各自的含义; 服务器告诉浏览器相关的信息, 浏览器就会表现相应的行为(控制浏览器)。
- 响应体:响应的正文部分; 即页面右键检查源码显示的所有内容。