在浏览器地址栏键入URL,按下回车之后经历的流程/常见状态码/get请求和post请求的区别/Cookie和Session的区别

面试常问一 在浏览器地址栏键入URL,按下回车之后经历的流程:
  • DNS解析(域名解析:域名到IP地址的转换过程):浏览器会根据URL逐层查询DNS服务器缓存解析URL中的域名所对应的IP地址(DNS缓存从今到远依次是浏览器缓存,系统缓存,路由器缓存,IPS服务器缓存,根域名服务器缓存,顶级域名服务器缓存,从哪个缓存查找到对应IP则直接返回不再查找后面的缓存
  • TCP连接 (找到IP地址和对应端口后与服务器建立TCP连接)(三次握手)
  • 浏览器发送HTTP请求
  • 服务器对浏览器请求做出响应并把对应带有html文本的HTTP响应报文发送给浏览器
  • 浏览器收到html并在浏览器解析进行渲染页面
  • 浏览器释放TCP连接(四次挥手)
    (最后一步和倒数第二步可以同时发生,哪一步在前没有要求)
面试常问二 HTTP常见状态码

(状态码由三位数字构成第一位表示状态码类型)

  • 五种可能的取值类型
  • 1xx:指示信息--表示请求已接收,继续处理
  • 2xx:成功--表示请求已被成功接收、理解、接受
  • 3xx:重定向--要完成请求必须进行更进一步的操作
  • 4xx:客户端错误--请求有语法错误或请求无法实现
  • 5xx:服务器端错误--服务器未能实现合法的请求

常见状态码
2000K:正常返回信息
301 永久重定向,302 临时重定向
400 Bad Request:客户端请求有语法错误,不能被服务器所理解
401 Unauthorized:请求未经授权,这个状态代码必须和WWW-Authenticate 报头域一起使用
403 Forbidden:服务器收到请求,但是拒绝提供服务eg:比如IP被禁了
404Not Found:请求资源不存在,eg,输入了错误的URL
500Internal Server Error:服务器发生不可预期的错误
503 Server Unavailable:服务器当前不能处理客户端的请求,一段时间后可能恢复正常
521 :爬虫自己遇到的没有携带js执行返回的cookie

面试常问三 get请求和post请求的区别

从三个层面回答

  • Http报文层面:GET将请求信息放在URL,POST放在报文体中
  • 数据库层面:
    GET符合幂等性(幂等性:对数据库的一次操作和多次操作的结果是一致的)和安全性(安全性:对数据的操作没有改变数据库的数据)      (这时因为Get请求一般是做查询操作的)
    POST不符合幂等性和安全性(POST一般是作用在上一级url上的,每次请求都会添加一份新资源,因此不符合幂等)(POST一般是往数据提交数据改变数据库,不符合安全性)
  • 其他层面:
    Get请求携带参数有限,POST可以携带更多数据;
    GET可以被缓存、被存储(会保存在浏览器的浏览记录中,url可以保存为浏览器书签),而POST不行
面试常问四 Cookie和Session的区别

HTTP本身是无连接的,正常我们每次请求数据都要重新建立携带数据连接(如登录),但是这样相当麻烦,因此我们引入了某些机制让HTTP具备状态,其中两个便是cookie,session.

Cookie简介
  • Cookie是客户端的解决方案
  • 是由服务器发给客户端的特殊信息,以文本的形式存放在客户端
  • 客户端再次请求的时候,会把Cookie回发
  • 服务器接收到后,会解析Cookie生成与客户端相对应的内容
Session简介
  • Session是服务端的机制,服务器使用一种类似于散列表的结构在服务器保存信息。
  • 解析客户端请求并操作session id,按需保存状态信息

    当程序需要为某个客户端请求创建session,首先检查客户端请求李是否已经包含一个session id,如果已经包含则说明以前已经为这个客户端创建了一个session,服务器就按照这个session id从服务器把这个session检索出来使用.如果不包含session id,则为这个客户端创建一个session并生成session id,并把这个session id发送回客户端进行保存
Cookie和Session的区别
  • Cookie数据存放在客户的浏览器上,Session数据放在服务器上
  • Session相对于Cookie更安全
  • 若考虑减轻服务器负担,应当使用Cookie
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • http协议有http0.9,http1.0,http1.1和http2三个版本,但是现在浏览器使用的是htt...
    一现_阅读 1,930评论 0 3
  • 背景在HTTP协议的定义中,采用了一种机制来记录客户端和服务器端交互的信息,这种机制被称为cookie,cooki...
    时芥蓝阅读 2,402评论 1 17
  • 电子词典改变了传统的利用字母排序翻找纸质词典的查词方式,有效提高了查找的速度,形成了一种更加轻量化的查字典的方式,...
    叁畈阅读 3,071评论 0 1
  • 【学龄后】口号:温柔地坚持 孩子第三个30天目标:每天读15分钟英语 妈妈第三个30天目标:不对孩子发火,不催促孩...
    zengl阅读 163评论 0 0
  • 原本想写的标题为:让天下没有难画的鼻子! 画到最后,看自己画的鼻子,实在不敢恭维,光与影把握得不到位,除了排线,其...
    丹菡阅读 503评论 11 21