浏览器发送HTTP请求的过程:
-
当用户在浏览器的地址栏中输入一个URL地址并按回车键之后,浏览器会向HTTP服务器发送HTTP请求。
-
当我们在浏览器输入URL http://www.baidu.com 的时候,浏览器发送一个Request请求去获取 http://www.baidu.com 的html文件,服务器把Response文件对象发送回给浏览器。
-
浏览器分析Response中的 HTML,发现其中引用了很多其他文件,比如Images文件,CSS文件,JS文件。 浏览器会自动再次发送Request去获取图片,CSS文件,或者JS文件等。
-
当所有的文件都下载成功后,网页会根据HTML语法结构,完整的显示出来了。
HTTP请求主要分为Get
和Post
两类:
-
GET是从服务器上获取指定页面信息,POST是向服务器提交数据并获取页面信息。
-
GET请求参数都显示在URL上,服务器根据该请求所包含URL中的参数来产生响应内容。 "Get" 请求的参数 是URL的一部分。
-
POST请求参数在请求体当中,消息长度没有限制而且以隐式的方式进行发送,通常用来向HTTP服务器提交量比较大的数据(比如请求中包含许多参数或者文件上传操作等)。POST请求可能会导致新的资源的建立和/或已有资源的修改。 "POST"请求的参数 不在URL中,而在请求体中。
页面的form表单一般都有method属性,默认值是"get"。 举个例子,登录时提交用户名和密码:
如果用"get"方式,提交表单后,则用户输入的用户名和密码将在地址栏中暴露无遗;
如果设置为"post,则提交表单后,地址栏不会有用户名和密码的显示。
所以处理登录页面的form表单时,发送的请求都是"POST"方式。
HTTPS 是以安全为目标的 HTTP 通道,所以在 HTTPS 承载的页面上不允许出现 HTTP 请求,一旦出现就是提示或报错。