美文网首页饥人谷技术博客
【杂记】URL-网页及Git问题分享

【杂记】URL-网页及Git问题分享

作者: NinthG | 来源:发表于2017-07-18 23:43 被阅读0次

前言

此篇笔记主要讲两个方面

  • 一个是用户从浏览器输入url到页面展现,中间经历了什么
  • 我在使用Git的时候出现了一些小问题的分享

从URL到网页展现的过程

首先熟悉两个名词

  • URL(Uniform Resource Locator),统一资源定位符,实际就是网站的网址/域名,简单的来讲就是我们平常打开网页所输入的“www.xxx.com

  • IP是什么
    IP实际上就是指URL背后隐藏的真实地址,由于要普通人记忆成百上千的“xx.xx.xx.xx”的数字组合来记忆网站是不现实的,所以我们就是用了URL来代替IP进行记忆

URL与页面的关系

整个过程较为复杂,涉及很多知识内容,整个过程大致如下:

image.png

过程详述

  • 输入URL即网址/域名
    也就是用户在浏览器中输入自己所知道的“www.xxx.com”等其他网址
  • 域名解析
    对于用户输入的域名,浏览器实际上是不认识这段字符串是什么的,所以,需要经历一系列的解析过程来最终定位输入域名的Ip地址
    1. 查找浏览器缓存——浏览器会自动缓存你的访问记录一段时间
    2. 查找系统缓存——电脑的Hosts文件中也会储存部分的域名信息
    3. 查找路由器缓存——路由器也会缓存一些域名信息
    4. 网络提供商的缓存——如电信、联通等也会有自己的域名缓存信息
    5. 如果以上均无法找到,那么将会向互联网的根域名服务器发送查找域名对应IP的请求,根服务器将会一级一级下达请求直到找到IP
  • 服务器处理
    服务器是一台安装系统的电脑,常见的系统为Linux、windows server 2012等,服务器使用Web server来处理收到的访问请求
  • 网站处理


    MVC模型

    MVC模型处理流程,这里实际上不是很懂,接下来的学习中有待进一步的理解

  • 浏览器处理
    1. HTML字符串被浏览器接收后会被一句一句的读取解析
    2. 解析到<link>标签后发送请求获取css,并执行代码
    3. 解析到<script>标签后发送请求获取js,并执行代码
    4. 解析到<img>标签后发送请求获取图片资源
      -绘制网页
      浏览器将根据拿到的HTML/CSS,来机选得到渲染树,并绘制在屏幕上,同时也会执行JS代码

Git遇到的一些问题分享

这一部分算是即兴的一块,因为上半部分的URL到网页的展示主要是记忆,大概理解,知道就行,而Git操作是比较实在的,对就是对错就是错,所以实操的项目中有可能出现各种各样的问题,这部分就收录一下这些问题,不定期更新,如果问题太多,我会重新开一贴来记录分享,希望对大家有所帮助。简单分享,我也未必很懂,莫要见怪

Git基本操作

这部分包括GitHub的账号注册、ssh生成/添加、设备key的绑定,首次的clone这些较为简单,这里就不做记录了,搜索大部分都能解决的

本地仓库提交到远程仓库error

第一次做这个事情出了一些错误,最有印象的一个是,按照一些网上博客的操作流程做了一遍,但是发现一个问题,在进行"git push origin master"的时候出现了如下错误

$ git push origin master
To github.com:carryqin/resume.git
 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'git@github.com:carryqin/resume.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

建立远程仓库后,本次增删改查目录下各种文件都没什么问题,就是push出这个问题,查了半天后终于得到了解决方法,最主要的问题是,在你创建远程仓库的时候会生成README.md(勾选初始化并创建README.md),但是如果你还未push的本地仓库目录中不含这个文件就会报这个错误,所以需要你先获取远程仓库的README.md才可以继续操作,所以我们是用这个命令

git pull --rebase origin master【代码合并】

操作成功之后,即可获得如下提示

git pull --rebase origin master
warning: no common commits
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
From github.com:carryqin/resume
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
First, rewinding head to replay your work on top of it...
Applying: 本地仓库首次提交

然后再push到origin master就没有问题了,虽然还是有些疑惑,但是好歹解决了燃眉之急,有需要的可以试试

待遇到的问题(待续)

后记

根据查阅的资料得到的过程实际上比较笼统,需要仔细研读并学习相关知识,现在能力不足,所以根据自己的理解只能得到如上的结论,如有错误请指教

相关文章

网友评论

    本文标题:【杂记】URL-网页及Git问题分享

    本文链接:https://www.haomeiwen.com/subject/oyjkkxtx.html