http相关知识

HTTP和HTTPS
HTTP协议(HyperText Transfer Protocol,超文本传输协议):是一种发布和接收 HTML页面的方法。

HTTPS(Hypertext Transfer Protocol over Secure Socket Layer)简单讲是HTTP的安全版,在HTTP下加入SSL层。

SSL(Secure Sockets Layer 安全套接层)主要用于Web的安全传输协议,在传输层对网络连接进行加密,保障在Internet上数据传输的安全。

HTTP的端口号为:80,
HTTPS的端口号为:443

HTTP的请求与响应
HTTP通信由两部分组成: 客户端请求消息 与 服务器响应消息

浏览器发送HTTP请求的过程:
当用户在浏览器的地址栏中输入一个URL并按回车键之后,浏览器会向HTTP服务器发送HTTP请求。HTTP请求主要分为“Get”和“Post”两种方法。

当我们在浏览器输入URL http://www.baidu.com 的时候,浏览器发送一个Request请求去获取 http://www.baidu.com 的html文件,服务器把Response文件对象发送回给浏览器。

浏览器分析Response中的 HTML,发现其中引用了很多其他文件,比如Images文件,CSS文件,JS文件。 浏览器会自动再次发送Request去获取图片,CSS文件,或者JS文件。

当所有的文件都下载成功后,网页会根据HTML语法结构,完整的显示出来了。

URL(Uniform / Universal Resource Locator的缩写):统一资源定位符,是用于完整地描述Internet上网页和其他资源的地址的一种标识方法。
基本格式:scheme://host[:port#]/path/…/[?query-string][#anchor]

scheme:协议(例如:http, https, ftp)
host:服务器的IP地址或者域名
port#:服务器的端口(如果是走协议默认端口,缺省端口80)
path:访问资源的路径
query-string:参数,发送给http服务器的数据
anchor:锚(跳转到网页的指定锚点位置)

客户端发送一个HTTP请求到服务器的请求消息,包括以下格式:请求行、请求头部、空行、请求数据

常见请求方法
1 GET 请求指定的页面信息,并返回实体主体。
2 HEAD 类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头
3 POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件),数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。
4 PUT 从客户端向服务器传送的数据取代指定的文档的内容。
5 DELETE 请求服务器删除指定的页面。

HTTP请求主要为Get和Post
GET是从服务器上获取数据,POST是向服务器传送数据

GET请求参数显示,都显示在浏览器网址上,HTTP服务器根据该请求所包含URL中的参数来产生响应内容,即“Get”请求的参数是URL的一部分。 例如: http://www.baidu.com/s?wd=Chinese

POST请求参数在请求体当中,消息长度没有限制而且以隐式的方式进行发送,通常用来向HTTP服务器提交量比较大的数据(比如请求中包含许多参数或者文件上传操作等),请求的参数包含在“Content-Type”消息头里,指明该消息体的媒体类型和编码,

常用的请求报头

  1. Host (主机和端口号)
    Host:对应网址URL中的Web名称和端口号,用于指定被请求资源的Internet主机和端口号,通常属于URL的一部分。

  2. Connection (链接类型)
    Connection:表示客户端与服务连接类型

  3. Upgrade-Insecure-Requests (升级为HTTPS请求)
    Upgrade-Insecure-Requests:升级不安全的请求,意思是会在加载 http 资源时自动替换成 https 请求,让浏览器不再显示https页面中的http请求警报。

  4. User-Agent (浏览器名称)
    User-Agent:是客户浏览器的名称,讲述你是谁。

  5. Accept (传输文件类型)
    Accept:指浏览器或其他客户端可以接受的MIME(多用途互联网邮件扩展)文件类型,服务器可以根据它判断并返回适当的文件格式。

  6. Referer (页面跳转处)
    Referer:表明产生请求的网页来自于哪个URL,用户是从该 Referer页面访问到当前请求的页面。这个属性可以用来跟踪Web请求来自哪个页面,是从什么网站来的等。

  7. Accept-Encoding(文件编解码格式)
    Accept-Encoding:指出浏览器可以接受的编码方式。

  8. Accept-Language(语言种类)
    Accept-Langeuage:指出浏览器可以接受的语言种类,如en或en-us指英语,zh或者zh-cn指中文,当服务器能够提供一种以上的语言版本时要用到。

  9. Accept-Charset(字符编码)
    Accept-Charset:指出浏览器可以接受的字符编码。

  10. Cookie (Cookie)
    Cookie:浏览器用这个属性向服务器发送Cookie。Cookie是在浏览器中寄存的小型数据体,它可以记载和服务器相关的用户信息,也可以用来实现会话功能。

  11. Content-Type (POST数据类型)
    Content-Type:POST请求里用来表示的内容类型。

Cookie 和 Session
服务器和客户端的交互仅限于请求/响应过程,结束之后便断开,在下一次请求时,服务器会认为新的客户端。

为了维护他们之间的链接,让服务器知道这是前一个用户发送的请求,必须在一个地方保存客户端的信息。

Cookie:通过在 客户端 记录的信息确定用户的身份。

Session:通过在 服务器端 记录的信息确定用户的身份。

响应状态码
响应状态代码有三位数字组成,第一个数字定义了响应的类别,且有五种可能取值。

常见状态码
100~199:表示服务器成功接收部分请求,要求客户端继续提交其余请求才能完成整个处理过程。

200~299:表示服务器成功接收请求并已完成整个处理过程。常用200(OK 请求成功)。

300~399:为完成请求,客户需进一步细化请求。例如:请求的资源已经移动一个新地址、常用302(所请求的页面已经临时转移至新的url)、307和304(使用缓存资源)。
400~499:客户端的请求有错误,常用404(服务器无法找到被请求的页面)、403(服务器拒绝访问,权限不够)。
500~599:服务器端出现错误,常用500(请求未完成。服务器遇到不可预知的情况)。

联系方式

QQ:1217675462

欢迎交流

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
六万字是一本书的篇幅,关于HTTP知识需求较为广泛深入。HTTP是超文本传输协议(Hypertext Transfer Protocol)的缩写,是用于浏览器和Web服务器之间进行通信的协议。 首先,六万字的重点将会涵盖HTTP的基本概念和原理。这包括HTTP的发展历史、URL(Uniform Resource Locator)的结构和作用、HTTP请求和响应的格式、HTTP状态码的含义等。 其次,六万字将介绍HTTP的工作机制。这包括客户端与服务器的交互过程,包括DNS解析、TCP三次握手、建立持久连接、HTTP报文的传输等。同时也会涉及到HTTPS(HTTP Secure)的使用和原理以保障通信的安全性。 此外,六万字还会探讨HTTP的特性和功能。例如,缓存机制的应用、Cookie和Session的使用、重定向、表单上传等高级特性的实现原理和应用场景。 还有,六万字将介绍HTTP的性能优化和相关技术。这包括使用CDN(内容分发网络)、使用压缩技术、HTTP/2和HTTP/3协议的特性和优势等。 最后,六万字还会指导读者如何调试和优化HTTP请求。这包括使用开发者工具、抓包工具、监控工具等进行调试,优化请求时间、减少响应大小等技巧。 总之,六万字的文章将全面介绍HTTP的基本概念、工作机制、特性和功能,以及性能优化和调试方法。对于开发者、运维人员和网络技术爱好者来说,这本书是学习和应用HTTP的必备知识
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值