Http详解 访问一个网站的过程(面试常问) 信息状态码

概念

Http:超文本传输协议(HypertextTransfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。

Https:超文本传输安全协议(全称:Hypertext Transfer Protocol Secure [5]),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输ssl协议保证了传输过程的安全性 [1]。

两个时期

http1.0

客户端像服务端发起请求,得到一个web资源,断开连接

http2.0

客户端像服务端发起请求,得到多个web资源

http请求

客户端发起请求

http响应

服务端响应

http状态码

1xx:信息性状态码

100 Continue:服务器仅接收到部分请求,但是一旦服务器并没有拒绝该请求,客户端应该继续发送其余的请求。

101 Switching Protocols:服务器正在根据客户端的请求切换协议。

2xx:成功状态码

200 OK:请求已成功处理。

202 Accepted:供处理的请求已被接受,但是处理未完成。

204 No Content:没有新文档。

206 Partial Content:客户端发送了一个带有Range头的GET请求,服务器完成了它。

3xx:重定向状态码

300 Multiple Choices:多重选择。

302 Found/Moved Temporarily:临时性重定向。

305 Use Proxy:客户请求的文档应该通过Location头所指明的代理服务器提取。

4xx:客户端错误状态码

400 Bad Request:服务器未能理解请求。

401 Unauthorized:未授权。

403 Forbidden:禁止访问。

404 Not Found:未找到。

...(还有其他多种特定的4xx状态码,表示不同的客户端错误情况)

5xx:服务器错误状态码

500 Internal Server Error:服务器端在执行请求时发生了错误。

502 Bad Gateway:服务器网关错误。

...(还有其他多种特定的5xx状态码,表示不同的服务器错误情况)

访问一个网站的过程

域名解析

1.首先有一个域名url,点击回车

2.首先在本机c盘中的C:\Windows\System32\drivers\etc中d的hosts文件寻找是否有此域名,找到则显示

3.找不到就通过dns域名解析器,全世界的域名都在这里,找到就显示,找不到就显示错误

建立TCP连接

    • 通过解析得到的IP地址,浏览器尝试与目标服务器建立TCP(传输控制协议)连接。
    • TCP连接建立过程包括三次握手:客户端发送SYN段给服务器,服务器回应SYN+ACK段,客户端再回应ACK段,确认连接建立。

发送HTTP请求

    • 一旦TCP连接建立成功,浏览器会发送一个HTTP请求给服务器。这个请求包含了用户想要访问的具体资源(如网页、图片等)以及其他元信息。
    • HTTP请求主要有两种类型:GET和POST。GET请求通常用于请求数据,而POST请求则用于提交数据。

服务器处理请求:

    • 服务器接收到HTTP请求后,会根据请求的内容进行相应的处理,这可能包括查询数据库、执行服务器端脚本等。

服务器发送HTTP响应:

    • 服务器处理完请求后,会生成一个HTTP响应,其中包含了请求的资源内容(如HTML文件、图片等)以及其他响应元信息。
    • HTTP响应会发送回客户端(即浏览器)。

浏览器接收并处理HTTP响应:

    • 浏览器接收到HTTP响应后,会解析响应中的内容。
    • 如果是HTML文件,浏览器会将其解析为DOM(文档对象模型)树,并应用CSS样式和执行JavaScript代码。

渲染页面:

    • 浏览器将解析后的HTML、CSS和JavaScript内容渲染成可视化的网页。
    • 在渲染过程中,可能还会发现页面引用了其他资源(如图片、样式表、脚本文件等),此时浏览器会重复上述的HTTP请求过程以加载这些资源。

页面显示

    • 最终,浏览器将渲染好的网页呈现给用户。
    • 用户可以在浏览器中浏览和与网页进行交互。

关闭TCP连接:

    • 在请求和响应过程结束后,TCP连接通常会被关闭(尽管HTTP/1.1协议支持持久连接,即多个请求和响应可以在同一TCP连接上连续进行)。
    • 如果需要获取其他资源,浏览器会重新建立新的TCP连接。
  • 52
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值