经典面试题----从输入URL到页面加载发生了什么?(3)

客户端和服务器建立了TCP/IP连接之后,这时候桥已经打好了,就该向服务器发送HTTP请求了。
HTTP协议分为HTTP请求和HTTP响应

客户端发送给服务端的请求信息就是HTTP请求,HTTP请求由http请求行,请求头和请求体组成。
HTTP请求行包括:
Request URL:就是请求的URL
Request Method: GET, POST, PUT,DELETE, OPTIONS, HEAD
请求头包括:
Accept, Accept-Charset, Accept-Encoding, Accept-Language, Content-Type, Authorization, Cookie, User-Agent等。
请求体:
POST提交方式的参数

服务端发送给客户端的信息就是HTTP响应
HTTP相应的一般包括协议的版本号,状态码等信息,常用的状态码包括
200: 一切正常,请求成功
302:重定向,跳转
304:拿缓存
404:没有该资源
500:服务器端错误

  1. HTTP常见的method有GET,POST,PUT,DELETE,OPTIONS,PUT和DELETE有的浏览器不支持,所以在使用时要注意。OPTIONS主要用来获取目标资源的通信选项,比如说,我要请求的资源允许的请求方式包括哪些。。等

  2. 302和307有什么区别?
    在 GET、HEAD 这些幂等的请求方式上,302、307 没区别,但对于 POST 就不同了,大部分浏览器 都会 302 会将 POST 请求转为 GET,而 307则不一样,规范要求浏览器继续向 Location 的地址 POST 内容。
    举个例子解释一下,假设正在POST一个消息,里面的Body有1M内容,在307的情况下,这1M的内容会继续发过去,但在302的情况下,则不会。

3.HTTP和HTTPS之间的具体区别详见这篇博客

浏览器解析和渲染页面

这时浏览器已经拿到了服务器返回来的数据,那么浏览器时如何把这些信息呈现给用户的呢?
这个可以看我的博客

你可能感兴趣的:(网络)