HTTP协议
HTTP(超文本传输协议)是应用层上的一种客户端/服务端模型的通信协议,它由请求和响应构成,且是无状态的,其中无状态是指两次连接通信之间是没有任何关系的,每次都是一个新的连接,服务端不会记录前后的请求信息。
五层网络协议:
HTTP协议内容
请求(Request):
客户端发送一个HTTP请求到服务端的格式包含请求行、请求头、请求体三部分。
响应(Response):
服务端响应客户端格式包含状态行、响应头、响应体三部分。
HTTP状态码
HTTP状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字没有分类的作用。HTTP状态码共分为5种类型。
HTTP请求方法
请求和响应常见通用头
Content-Type
Content-Type为内容类型,一般是指网页中存在的Content-Type,用于定义网络文件的类型和网页的编码,决定浏览器将以什么形式、什么编码读取这个文件。
常见的媒体格式类型如下:
以application开头的媒体格式类型:
常见请求头
常见响应头
URL构成
POST与GET请求区别
(1)GET请求在URL中传送的参数是有长度限制的,而POST没有。
(2)GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
(3)GET参数通过URL传递,POST放在Request body中。
(4)GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。
(5)GET请求只能进行url编码,而POST支持多种编码方式。
(6)GET请求会被浏览器主动cache,而POST不会,除非手动设置。
(7)GET产生的URL地址可以被Bookmark,而POST不可以。
GET在浏览器回退时是无害的,而POST会再次提交请求。