5XX 服务器错误
- 500 internal sever error,表示服务器端在执行请求时发生了错误
- 503 service unavailable,表明服务器暂时处于超负载或正在停机维护,无法处理请求
文章插图
HTTP请求的起始行称为请求行,形如GET /index.html HTTP/1.1
HTTP响应的起始行称为状态行,形如200 ok
消息头部有很多键值对组成,多个键值对之间使用CRLF作为分隔符,也可以完全没有键值对 。形如Content-Encoding: gzip 消息体是一个字符串,字符串的长度是由消息头部的Content-Length键指定的 。如果没有Content-Length字段说明没有消息体,譬如GET请求就是没有消息体的,POST请求的消息体一般用来放置表单数据 。GET请求的响应返回的页面内容也是放在消息体里面的 。我们平时调用API返回的JSON内容都是放在消息体里面的 。
HTTP的无状态性?所谓HTTP协议的无状态性是指服务器的协议层无需为不同的请求之间建立任何相关关系,它特指的是协议层的无状态性 。但是这并不代表建立在HTTP协议之上的应用程序就无法维持状态 。
应用层可以通过会话Session来跟踪用户请求之间的相关性,服务器会为每个会话对象绑定一个唯一的会话ID,浏览器可以将会话ID记录在本地缓存LocalStorage或者Cookie,在后续的请求都带上这个会话ID,服务器就可以为每个请求找到相应的会话状态 。
输入url到页面加载都发生了什么事情?(最最常问的来了)
- 输入地址
- 浏览器查找域名的 IP 地址 这一步包括 DNS 具体的查找过程,包括:浏览器缓存->系统缓存->路由器缓存...
- 浏览器向 web 服务器发送一个 HTTP 请求
- 服务器的永久重定向响应(从 http://example.com 到 http://www.example.com)
- 浏览器跟踪重定向地址
- 服务器处理请求
- 服务器返回一个 HTTP 响应
- 浏览器显示 HTML
- 浏览器发送请求获取嵌入在 HTML 中的资源(如图片、音频、视频、css、JS等等)
- 浏览器发送异步请求
【通常都要知道的TCP、HTTP知识点】
推荐阅读
- 这些著名数据库之间的“关系”,你知道吗?
- 每个算法人员都应该知道的4个超参数调试方法
- 你知道黑客最喜欢使用的编程语言吗
- 短发|什么脸型“直发”好看,什么脸型“烫发”好看?看完分析就知道了
- 是不是备胎看看就知道
- 骁龙|为什么游戏手机都只用骁龙平台?知道真相的我竟无法反驳
- 黄疸指数多少可以母乳
- 喝茶就是这么简单,所有喝茶的人都知道的件事
- 古代皇帝每天都在干什么 古代皇帝每天都要上朝吗
- 植物肉是大豆还是土豆?